如何应用自定义主题?

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

我正在使用 QtCreator 创建 C++ 中的 Qt 应用程序。

我知道 CSS 并为我的应用程序中的元素制作主题并不太难,但是有没有办法制作文件并应用它?

我浏览了 Qt 文档,但我似乎找不到任何关于这样的事情。

目前,我正在设计每个按钮和其他内容的样式,但我可以将其全部放入一个文件中并立即将其应用到所有内容吗?

c++ qt qt5 qtstylesheets
1个回答
3
投票

创建一个文件,例如

style.myStyle
。在那里,您可以放置所有小部件的样式,包括事件、属性等。然后,在应用程序启动时加载文件,并将其应用到应用程序:

#include <QApplication>
#include <QFile>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QFile file("./style.myStyle");
    file.open(QFile::ReadOnly);
    QString styleSheet = QLatin1String(file.readAll());
    a.setStyleSheet(styleSheet);
    MainWindow w;
    w.show();
    return a.exec();
}

现在在

style.myStyle
文件中,您可以自定义您的样式,例如:

QPushButton
{
    background-color: white;
    border-style: outset;
    border-width: 2px;
    border-radius: 10px;
    border-color: beige;
    font: bold 14px;
    min-width: 10em;
    min-height: 20em;
    padding: 6px;
}
QPushButton:pressed
{
    background-color: rgb(224, 0, 0);
    border-style: inset;
}
QFrame, QLabel, QToolTip
{
    border: 2px solid green;
    border-radius: 2px;
    padding: 1px;
}

该代码产生以下结果:

注意: 确保验证文件是否存在等

© www.soinside.com 2019 - 2024. All rights reserved.