最近学习qt ,使用的编译器是qt creator ,学习过程中遇到的题就是 如何将程序中将要用到的.qss 文件静态编译到.exe程序中,而不是在程序运行时动态载入。动态载入的最大问题在于一旦.qss 的文件名或者路径改变 ,程序中所用到的.qss 文件也将失效,这样的话程序无法发布,即使发布了,页面效果也会大打折扣。。。。
在网上找了很多资料,但试过之后都没用,下面是网上找到的一些资料:
方法一:1、建立文本文件,写入样式表内容,更改文件后缀名为qss;
2、在工程中新建资源文件*.qrc,将qss文件加入资源文件qrc中,此处注意prefix最好为"/",否则在调用qss文件时会找不到文件;
3、通过传入路径\文件名的方式创建一个QFile对象,以readonly的方式打开,然后readAll,最后qApp->setStyleSheet就可以使qss生效。
QString qss;
QFile qssFile(":/qss/css.qss");
qssFile.open(QFile::ReadOnly);
if(qssFile.isOpen())
{
qss = QLatin1String(qssFile.readAll());
qApp->setStyleSheet(qss);
qssFile.close();
}
QString qss;
QFile qssFile("D:\\Test\\qss.qss");
qssFile.open(QFile::ReadOnly);
if(qssFile.isOpen())
{
qss = QLatin1String(qssFile.readAll());
qApp->setStyleSheet(qss);
qssFile.close();
}
Qt Creator项目中使用qss,布布扣,bubuko.com
原文:http://blog.csdn.net/wxb1553725576/article/details/25437955