我想通过QSS设置控件样式eg:QPushButton
1、我在style.qss中写入QPushButton{background-color: red;}
2、添加style.qss到资源文件xx.qrc中
3、在main()函数中加入以下代码:
QApplication a(argc,argv);
QPushButton *btn = new QPushButton;
QFile qss(":style.qss");
qss.open(QFile::ReadOnly);
a.setStyleSheet(qss.readAll());
qss.close();
btn->show();
return a.exec();
从理论上来讲这样的话,按钮会显示成红色,但是我的却没有改变,请问高手,是我哪边少写了什么?还是哪边有错误呢?
------解决方案--------------------
QFile qss(":style.qss");
改为
QFile qss("./style.qss");
你这是一个外部文件,不是从resource中直接读取。
------解决方案--------------------
readAll()方法返回的是QByteArray,不是QByteArray *,另外我在项目中使用a.setStyleSheet(qss.readAll());没有问题