В QWebView я динамически создаю и загружаю HTML с помощью QWebView.setHtml(). В строке HTML, которую я передаю этому методу, у меня есть раздел <style>
, где я вставляю строку CSS из внешнего файла. CSS работает прекрасно, за исключением семейств шрифтов. Шрифт всегда возвращается к шрифту по умолчанию sans-serif по умолчанию QWebView. Я могу изменить этот шрифт по умолчанию, используя QWebView.settings().setFontFamily(QtWebKit.QWebSettings.StandardFont, "serif")
, но это просто делает все на странице шрифтом с засечками вместо того, чтобы чтить значения шрифта семейства CSS.PySide-QtWebKit: CSS-шрифт не влияет
Соответствующий раздел в моем файле CSS:
.page-title {
color:#BBBBBB;
font-family:"Times New Roman",Garamond,serif;
}
Это не делает в шрифт с засечками, как ожидалось, но в общем шрифтом без засечек. Однако цвет отображается без проблем.
В какой-то момент для отладки я напечатал всю строку HTML прямо перед вызовом QWebView.setHtml() и перенаправил вывод в файл. Этот файл выглядел так, как ожидалось, когда я открыл его в Chromium, что привело меня к мысли, что проблема не проблема HTML/CSS. Here - это выход, если вы заинтересованы.
Edit: Так как я устанавливаю щедрот здесь, здесь быстрый Т.Л., д-р, который должен суммировать все важное:
С PySide, как я могу сделать QWebView чести настройки CSS семейство шрифтов в HTML-страницу, загружаемую через QWebView.setHtml()? В частности, существует ли какая-то секретная скрытая настройка, которая включает и отключает такое поведение? Или я должен сообщать об этом как об ошибке в рамках?
Если вы хотите проверить это самостоятельно, Here - это ссылка на репо GitHub для проекта, над которым я работаю. Зависимости перечислены в README.
Прочитайте расчетные свойства CSS (в инструменте разработчика) и посмотрите, нет ли правила перезаписывания динамического CSS. –
Кажется, у меня проблемы с поиском чего-либо в API, который имеет значение, помимо вызовов методов, которые я уже использовал. Однако, используя JavaScript внутри страницы, я обнаружил, что вычисленный стиль для этого раздела, по сути, Times! Поэтому он вычисляется правильно, но что-то в Qt переопределяет его. –
Я довольно плохие знания в тех технологиях, которые вы используете. Однако последнее, о чем я могу думать в данный момент, это использовать '! Important' в вашем правиле CSS. Например: «font-family:« Times New Roman »,« Garamond »,« serif »! Important;'. Удачи ! –