以编程方式获取QSS选项

时间:2015-06-24 12:05:50

标签: qt fonts qtstylesheets

我遇到以下问题:我有一个包含字体选项* {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();
}

0 个答案:

没有答案