我正在通过带有参数-stylesheet的命令行运行我的Qt应用程序。控件的样式有效,但在我尝试为MainWindow加载背景图像时却没有。 我试过了:
QMainWindow{
background-image:url(:image_256_8bit_latest_back.png);
}
还尝试在后台删除“:”,但没有任何区别。有人能告诉我这个StyleSheet有什么问题吗?
答案 0 :(得分:15)
您要使用的图片位于何处?
您是否将其作为申请的resource?
如果要使用属于资源的图像,则项目中应该有一个资源文件(*.qrc
)。此文件应包含以下内容:
<RCC>
<qresource prefix="/images">
<file alias="sunset.jpg">sunset.jpg</file>
</qresource>
</RCC>
然后,您可以在QMainWindow
:
setStyleSheet("background-image: url(:/images/sunset.jpg);");
如果您不想使用Qt resource system,只需将图片路径放在磁盘上即可:
setStyleSheet("background-image: url(res/images/sunset.jpg);");
如果你使用的是相对路径,请注意:Qt将从当前位置开始,这可能会改变,特别是如果你使用 Qt Creator 进行开发。
使用 Qt Creator ,在调试模式下运行应用时,当前路径位于debug/
。在发布模式下运行应用时,当前路径位于release/
(除非您更改了设置)。
答案 1 :(得分:1)
显然,您的图片路径存在问题。尝试使用绝对路径来验证图像是否由QT加载并正常工作。