Qt - QFile没有打开.qss文件

时间:2014-08-29 23:50:00

标签: c++ qt

我试图为我的项目使用外部样式表,而我在使用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';
}

它读得很好,但风格不适用。这是在调试模式下: debug

1 个答案:

答案 0 :(得分:0)

QDialog不支持“background-color”,只支持“backgroud:”。

(如果不起作用,还有其他想法: 也许忘了为newGameDialog类指定Q_OBJECT?

或者使用Qt Designer创建QDialog,在样式表属性字段中复制样式表源,看看它是否有效,或者设计器是否显示错误,或者在测试实例化对话框时是否正确应用样式(Ctrl + R i想)。)