无法为 QLabel 背景加载图像

Posted

技术标签:

【中文标题】无法为 QLabel 背景加载图像【英文标题】:Cannot load image for QLabel background 【发布时间】:2013-07-26 07:00:20 【问题描述】:

我的qrc文件定义如下,

<RCC>
    <qresource prefix="/images">
        <file>Resources/images/background.png</file>
    ....

我想使用文件background.png 作为我标签的背景。 我确实喜欢这个,

label->setStyleSheet( "background-image: url(:/images/background.png);" );

但它不能将图像设置为背景。 无论如何都知道为什么标签无法加载图像?找不到图片?

谢谢

【问题讨论】:

【参考方案1】:

您说您想要Resources/images/background.png 文件的/images 前缀,因此在资源系统中该文件可用作

:/images/Resources/images/background.png

如果您希望简化文件的路径,请使用别名:

<file alias="background.png">Resources/images/background.png</file>

这将使其在

下可用
:/images/background.png

对于未来,学习如何自己调试这些简单的问题:只需投入

QDirIterator i(":/", QDirIterator::Subdirectories);
while (i.hasNext())
    qDebug() << i.next();

在您的main 函数中会告诉您资源层次结构的外观,以及您使用的资源路径是否错误。

【讨论】:

好的,谢谢,我会检查的。我发现有些人绘制 UI 并在某处使用资源文件。对于一个人来说,使用 CSS 和 C++ 混合工作很容易,而且会浪费时间在团队合作上。

以上是关于无法为 QLabel 背景加载图像的主要内容,如果未能解决你的问题,请参考以下文章

QLabel 在 gif 上覆盖 png

Qt 圆角头像的实现

angular 2组件无法从外部css皮肤加载相对背景图像url

添加背景图像时,Xamarin android网格无法正确缩放单元格

HTML 5文件加载图像作为背景图像

使用PNG作为背景图像 - 在设计视图中无法看到它[关闭]