找回密码
 立即注册
收起左侧

Qt中qss文件的编写

4
回复
7879
查看
[复制链接]
累计签到:94 天
连续签到:1 天
来源: 2014-3-7 10:22:46 显示全部楼层 |阅读模式
5Qter豆
我想让自己界面上的控件改变样式,所以我用qss文件样式表,但是控件并没有达到我想要的效果,我在.qrc文件里添加了.qss文件,在main.cpp中这样写的   QFile qss("qt.qss");    if(qss.open(QFile::ReadOnly)){    QString str = QLatin1String(qss.readAll());    a.setStyleSheet(str);}    qss.close();
哪位大神能给点意见?

最佳答案

查看完整内容

图片当中我用红色框出来的地方,就你添加文件的路径,改下就没问题,在Ui文件的资源浏览器中将该文件导入。在main函数中添加 QString strSheet; QFile styleSheetFile(":/CTransferSystemFrame/Resources/QtStyleSheet.qss" ); if (styleSheetFile.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&styleSheetFile); strSheet = in.readAll(); styleSheetFile.close(); } a.setStyleSheet(strSheet); ...
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-3-7 10:22:47 显示全部楼层
图片当中我用红色框出来的地方,就你添加文件的路径,改下就没问题,在Ui文件的资源浏览器中将该文件导入。在main函数中添加
QString strSheet;
        QFile styleSheetFile(":/CTransferSystemFrame/Resources/QtStyleSheet.qss" );
        if (styleSheetFile.open(QIODevice::ReadOnly | QIODevice::Text))
        {
                QTextStream in(&styleSheetFile);
                strSheet = in.readAll();
                styleSheetFile.close();
        }
        a.setStyleSheet(strSheet);       

这样就没问题了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-3-7 17:38:07 显示全部楼层
本帖最后由 a408815041 于 2014-3-7 17:39 编辑

我还没弄过QSS
你用控件或者widget设置试试
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-3-10 16:05:05 显示全部楼层
我想你应该是没有正确读取到qt.qss的内容,就是说str是空的,你没有把它添加到资源文件当中,也没有添加到工程的.qrc当中。 QFile qss("qt.qss"); 文件的路径再修改下就可以了
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-3-10 16:09:22 显示全部楼层
QString strSheet;
        QFile styleSheetFile(":/CTransferSystemFrame/Resources/QtStyleSheet.qss" );
        if (styleSheetFile.open(QIODevice::ReadOnly | QIODevice::Text))
        {
                QTextStream in(&styleSheetFile);
                strSheet = in.readAll();
                styleSheetFile.close();
        }
        a.setStyleSheet(strSheet);       
我的代码中就用到了,完全没有问题,可以实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了