我正在为我的应用程序设计主题支持,我想将整个主题保存在单个二进制文件中,因此无法使用简单的文本和图像编辑器编辑主题。主题包含所有窗口的qss,图标包和一些其他数据。我的问题是qss希望所有图标都作为png文件放在文件夹中,例如:
QDockWidget
{
titlebar-close-icon: url(theme/images/close.png);
titlebar-normal-icon: url(theme/images/maximize.png);
}
所以我的问题是 - 如何将qss中使用的所有图像保存在一个二进制和/或加密文件中,然后从qss中使用它们以避免所有图像都作为png文件放置?
编辑:
尝试从二进制资源加载某些内容.rcc:
1)用图像创建qssimages.qrc:
<RCC>
<qresource prefix="/images">
<file>images/arrow_state_right.png</file>
...
</qresource>
</RCC>
2)用rcc编译为qssimages.rcc
3)将rcc放置到主题文件夹
4)注册资源文件:
qDebug()<<"register"<<QResource::registerResource(QApplication::applicationDirPath() + "/theme/qssimages.rcc");
输出是:
register true
5)尝试从rcc加载pixmap:
qDebug()<<QPixmap(":/images/arrow_state_right.png");
输出是:
QPixmap(null)
我错过了一些明显的东西吗?