加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何将Qt样式表移动到外部文件但是将其保存在资源中?

发布时间:2020-12-16 04:55:05 所属栏目:百科 来源:网络整理
导读:我的Qt应用程序有一个大样式表,有很多边距,像素和其他东西直接基于和绘图和图形相关.我很乐意将所有这些内容提供给设计师,但样式表保存在.ui文件中,这对设计人员来说不方便;她更喜欢看一个单独的文件,并使用她常用的工具进行编辑. 我想要的是将样式表移动到
我的Qt应用程序有一个大样式表,有很多边距,像素和其他东西直接基于和绘图和图形相关.我很乐意将所有这些内容提供给设计师,但样式表保存在.ui文件中,这对设计人员来说不方便;她更喜欢看一个单独的文件,并使用她常用的工具进行编辑.

我想要的是将样式表移动到外部.qss文件,将该文件添加到程序资源并将其链接到.ui文件,因此样式表将由窗口小部件自动编译和使用,并且应用程序不会保留样式表文件并在运行时加载它.

怎么实现呢?

解决方法

将所有样式复制到一个文件中,并将其重命名为stylesheet.qss
然后将其作为新资源项包含在qrc文件中.您可以通过编辑qrc文件来完成此操作(如果已有). Refer documentation on如何添加新资源.

然后像这样修改你的代码,在运行时读取qss文件的内容,并将样式应用到你的应用程序.

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);

    QFile file(":/stylesheet.qss");
    if(file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        a.setStyleSheet(file.readAll());
        file.close();
    }

    MainWindow w;
    w.show();

    return a.exec();
}

注意:在stylesheet.qss中进行更改时,必须编译qrc文件才能使更改生效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读