我们用来显示图片的小工具是QLabel。我们可以通过设置pixmap属性直接从QtCreator中完成。
我们应首先创建一个资源文件,然后将该图像添加到该资源文件中。要创建Qt资源文件,我们转到菜单:文件> Qt> Qt资源文件。
我们可以使用Qt Creator设置QLabel的图像......
但我想根据用户的一些输入改变图片
我尝试执行以下操作:
#include "form1.h"
#include "form.h"
#include "ui_form.h"
#include "ui_form1.h"
Form::Form(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form)
{
ui->setupUi(this);
QPixmap * mypix = new QPixmap(":/karim/test.png");
ui->label->setPixmap(mypix);
delete mypix;
}
但是我收到了这个错误
..\Project\form.cpp: In constructor 'Form::Form(QWidget*)':
..\Project\form.cpp:12: error: no matching function for call to 'QLabel::setPixmap(QPixmap*&)'
c:\QtSDK\Simulator\Qt\mingw\include/QtGui/qlabel.h:123: note: candidates are: void QLabel::setPixmap(const QPixmap&)
可能是什么问题?
答案 0 :(得分:13)
您尝试使用的方法的签名是
setPixmap(const QPixmap&)
但你正在传递一个指针。请尝试使用值。
QPixmap mypix (":/karim/test.png");
ui->label->setPixmap(mypix);