Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
qt背景图像未显示_Qt_Background_Background Image - Fatal编程技术网

qt背景图像未显示

qt背景图像未显示,qt,background,background-image,Qt,Background,Background Image,我在为主窗口设置背景图像时遇到困难。我以前试过,但现在不行了 我在互联网和论坛上搜索了一个解决方案,这些都是我以前做过的,所以我请求一些帮助 我创建了一个qt资源文件,并将图像放在其中。 我知道图像的URL是正确的,因为当我将图像放入样式表时,它会显示在.ui设计器文件中。但是当我运行应用程序时,它不会显示图像。只有一个空白的申请表 应用程序是空白的,因为我专门创建了一个测试项目,以确保没有其他中断 我清理了ui设计器文件的样式表,现在我正试图在我之前成功管理的代码中完成它 代码是: 主窗口 #

我在为主窗口设置背景图像时遇到困难。我以前试过,但现在不行了

我在互联网和论坛上搜索了一个解决方案,这些都是我以前做过的,所以我请求一些帮助

我创建了一个qt资源文件,并将图像放在其中。 我知道图像的URL是正确的,因为当我将图像放入样式表时,它会显示在.ui设计器文件中。但是当我运行应用程序时,它不会显示图像。只有一个空白的申请表

应用程序是空白的,因为我专门创建了一个测试项目,以确保没有其他中断

我清理了ui设计器文件的样式表,现在我正试图在我之前成功管理的代码中完成它

代码是:

主窗口

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
好的,我想澄清一下:

我尝试将样式表添加到CentralWidgetQWidget中,默认情况下,该小部件在.ui文件中已准备就绪 我试着对主窗口做同样的操作

现在我正在尝试我以前管理的代码

我知道样式表代码是有效的,因为当我添加它时,图像显示在.ui文件中。因此,为了完全确定,我直接从.ui文件样式表属性复制了样式表行

我真的希望你们能帮我


thnx

嗨!我知道图像的URL是正确的。。我敢肯定那不是真的。请注意,使用Qt时,您有您的项目文件夹和构建文件夹。无论如何,您可以为图像设置绝对路径而不是相对路径。您还可以使用别名创建ressource文件—这可能是最好的!。或者您可以调整相对路径。如果图像的URL不正确,它将不会显示在ui设计器中。另外,我添加了一个qt资源文件。这就是我导入图像的方式。它显示在qt ui设计器工具中,但当我构建和运行应用程序时,它是空白的。另外,为了测试,我在designer.ui样式表中从url中删除了一个字符,图像消失了,因为url不正确,正如我告诉你的,当你使用ui设计器时,你在你的项目文件夹中工作,其中有一个子文件夹files/。。。正当编译时,可执行文件默认位于生成文件夹中。在这个文件夹中,您有相同的体系结构吗?文件/。。。我不这么认为,这就是为什么我告诉你这可能是一个路径问题。我在路径中遇到了类似的问题,使用别名可以避免一些麻烦;我完全理解你在说什么,你是对的。在生成实际.exe文件的生成文件夹中,没有/files文件夹。所以我添加了它,使路径完全相同。它仍然不起作用。顺便说一句,如果我是对的,我也很感激你试图帮助我。添加了.qrc文件,以便在编译时,.qrc中的所有源代码都被编译成通过编译生成的二进制文件。因此,如果图像显示在ui设计器中,它应该将图像编译到exe中。。这意味着构建文件夹中不应该有任何单独的资源文件
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}