我遇到以下问题:我有一个包含字体选项* {font-family: "Times New Roman";}
的自定义样式表。我在创建应用程序时将此样式表应用于我的应用程序。之后,我需要在我的C ++代码中查询此选项,但我找不到正确的方法来执行此操作。我尝试调用QApplication::font().family()
和QWidget().font().family()
,但这两种方法都返回默认值。据我所知,QApplication的样式在完全创建后应用于QWidget(可能是第一次显示时,但我不确定)。有人可以帮忙吗?
的 UPD
以下代码说明了我的问题:
的 .qss:
* {
font: bold large "Times New Roman";
font-size: 12px;
}
此样式表用于设置QApplication。我还希望将.qss中的字体用作我的QWebView的默认字体:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QFile file("default.qss");
file.open(QIODevice::ReadOnly | QIODevice::Text);
app->setStyleSheet(file.readAll());
// some work is done here
// ...
QWebView view;
QFont font = QWidget().font();
view->settings()->setFontFamily(QWebSettings::StandardFont, font.family());
view->settings()->setFontSize(QWebSettings::DefaultFontSize, font.pointSize());
view.show();
return app.exec();
}