我正在使用 Visual Studio 2010 中的 QT 集成设计器来设计一个简单的 GUI。这是我想要做的:我想单击一个名为“更新”的按钮并使用它来更改显示的图像。我已经验证我能够通过按下更新来触发信号并使用文本字段上的插槽来清除。但似乎无法更改使用 Signal/Slot 方法显示的图像....
这是相关的代码片段(GUI.cpp):
void GUI::changeImage()
{
ui.Image->updatesEnabled();
ui.Image->setPixmap(QPixmap("D:\\Documents\ and\ Settings\\Image.jpg"));
ui.Image->update();
}
GUI::GUI(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
connect(ui.updateButton, SIGNAL(clicked()), ui.textField, SLOT (clear()) );
connect(ui.updateButton, SIGNAL(clicked()), ui.Image, SLOT ( changeImage() ) );
}
GUI::~GUI()
{
}
难道我做错了什么?
编辑:gui.h 的代码
#include <QtGui/QMainWindow>
#include "ui_gui.h"
class GUI : public QMainWindow
{
Q_OBJECT
public:
GUI(QWidget *parent = 0, Qt::WFlags flags = 0);
~GUI();
private:
Ui::GUIClass ui;
void changeImage() ;
};