为我的 Qt 小部件应用程序使用主题

问题描述 投票:0回答:2

如何在 qt 嵌入式应用程序/小部件中使用主题,我已按照此网址中的以下说明进行操作。但它似乎不起作用,不确定为什么我可能错过了一些东西

Qt 深橙色样式表

int main(int argc, char *argv[])
{
    QString file_path = QCoreApplication::applicationDirPath() + "/theme.css";

    QApplication a(argc, argv);
    QApplication::setStyle("plastique");

    MainWindow w;
    QFile style_file(file_path);
    if(style_file.open(QIODevice::ReadOnly))
    {
      qDebug() << "Readin file OK!";
      w.setStyleSheet(style_file.readAll());
      style_file.close();
    }
    w.show();

    return a.exec();
}

我也将“theme.css”文件上传到同一路径,文件确实存在。

qt
2个回答
1
投票

尝试将绝对路径传递给样式表文件:

QCoreApplication::applicationDirPath() + QString("darkorange.stylesheet");

0
投票

您应该将样式表的内容放在

QWidget::setStyleSheet
中,而不是文件的路径。因此,使用
QFile
打开文件,阅读内容并将其设置为样式表。

这是一个例子:

QFile style_file("path/to/stylesheet/darkorange.stylesheet");
if(style_file.open(QIODevice::ReadOnly))
    this->setStyleSheet(style_file.readAll());
© www.soinside.com 2019 - 2024. All rights reserved.