我试图为我的项目使用外部样式表,而我在使用QFile类打开它时遇到了麻烦。我已将其导入.qrc文件,其中一部分如下所示:
<qresource prefix="stylesheets">
<file>Resources/Stylesheet.qss</file>
</qresource>
这就是我打开和使用文件的方式:
QFile stylesheet(":/stylesheets/Resources/Stylesheet.qss");
if (stylesheet.open(QIODevice::ReadOnly | QIODevice::Text))
{
newGameDialog.setStyleSheet(stylesheet.readAll());
stylesheet.close();
}
这可能有什么问题?我使用Visual Studio 2013与最新的Qt和VS Qt插件。我还设置了项目以支持QML项目设置&#34;。 .qss文件看起来像这样(如果直接设置为QString,它可以工作)。我不确定&#34; import&#34;需要一行:
import Qt 5.3.1
QDialog
{
background-color: 'white';
}
它读得很好,但风格不适用。这是在调试模式下:
答案 0 :(得分:0)
QDialog不支持“background-color”,只支持“backgroud:”。
(如果不起作用,还有其他想法: 也许忘了为newGameDialog类指定Q_OBJECT?
或者使用Qt Designer创建QDialog,在样式表属性字段中复制样式表源,看看它是否有效,或者设计器是否显示错误,或者在测试实例化对话框时是否正确应用样式(Ctrl + R i想)。)