如何在QT框架中的UI上显示"*.png"文件?

kar*_*rim 5 c++ user-interface qt png

我是Qt Framework的新手......

我想在我的Form1.ui中显示.png图片,所以我从小工具框中拖放了一个图形视图,然后我将test.png放在同一目录中(在项目文件夹中)

我在代码中这样做了

//Form1.cpp
#include "form1.h"
#include "ui_form1.h"

Form1::Form1(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Form1)
{
    ui->setupUi(this);
    ui->Pic1->setStyleSheet("background-image: url(test.png)");

}

Form1::~Form1()
{
    delete ui;
}



//Form1.h
#ifndef FORM1_H
#define FORM1_H

#include <QWidget>

namespace Ui {
    class Form1;
}

class Form1 : public QWidget
{
    Q_OBJECT

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

private:
    Ui::Form1 *ui;
};

#endif // FORM1_H
Run Code Online (Sandbox Code Playgroud)

它编写得很完美,但照片没有出现,我错了什么?

这是我的qrc:

Vin*_*ura 11

你应该用来显示图片的小工具是QLabel.您可以通过设置其pixmap属性直接从QtCreator执行此操作.

正如其他人所说,您应首先创建一个资源文件,然后将该图像添加到该资源文件中.要创建Qt资源文件,请转到菜单:文件> Qt> Qt资源文件.

编辑以编程方式执行:

//names starting with : means that they are on a resource file, 
//otherwise in the filesystem
QPixmap * mypix = new QPixmap(":/karim/test.png"); 
ui->your_label->setPixmap(mypix);
delete mypix;
Run Code Online (Sandbox Code Playgroud)