I am new to Qt Framework...
I want to display a .png pic in my Form1.ui , so I dragged and dropped a Graphic view from the widget box then I placed test.png in the same directory (inside the project folder)
and i did this in the code
//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
It compiled perfectly but the pic didn't appear , What did I Wrong ?
this is my qrc :
The Widget you should use to show pictures is a QLabel
. You can do it directly from QtCreator, by setting its pixmap
property.
As others said, you should first create a resource file and then add the image to that resource file. To create a Qt Resource File, go to the menus: File > Qt > Qt Resource File.
EDIT To do it programatically:
//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;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With