本文实现的是QPushButton和QComobox控件简单的Qss样式表的应用
建立style.qss,内容如下:
QPushButton {
background-color: qlineargradient(spread:pad, x1:0.522124, y1:0, x2:0.506, y2:1,
stop:0 rgba(85, 170, 127, 255),
stop:1 rgba(255, 255, 255, 255));
}
QComboBox {
background: green;
}
保存后,加入到QT工程的资源文件中。
然后在相关的项目中的main()函数中,增加如下内容(加粗斜体部分):
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MainWidget w;
QFile qss(":/new/prefix1/style.qss"); //绿色中为资源文件的路径,根据需要更改
qss.open(QFile::ReadOnly);
a.setStyleSheet(qss.readAll());
qss.close();
w.show();
returna.exec();
}
增加相应头文件 #include <QFile>
然后就可以运行看到效果了,如下图所示:
注意:新加入的资源文件有时需要按一下运行后,第二次才能正常调用
如果要让程序实时改变外观的话,可以用构造一个QFileSystemWatcher对象,用它来监测样式表,一被改动就重新调用一下上面的代码。很是方便。