我是Qt的新手,我正在尝试创建一个简单的GUI应用程序,一旦点击按钮就会显示一个图像。
我可以读取QImage对象中的图像,但是有没有什么简单的方法可以调用一个Qt函数,将QImage作为输入并显示出来呢?
发布于 2010-12-18 04:37:47
感谢所有人,我找到了方法,这和Dave和Sergey是一样的:
我正在使用QT Creator:
在主图形用户界面窗口中,使用拖放图形用户界面创建并创建标签(例如"myLabel")
在按钮的回调(单击)中,使用(*ui)指针指向用户界面窗口,执行以下操作:
void MainWindow::on_pushButton_clicked()
{
QImage imageObject;
imageObject.load(imagePath);
ui->myLabel->setPixmap(QPixmap::fromImage(imageObject));
//OR use the other way by setting the Pixmap directly
QPixmap pixmapObject(imagePath");
ui->myLabel2->setPixmap(pixmapObject);
}发布于 2010-12-18 04:23:40
演示如何显示QImage的简单但完整的示例可能如下所示:
#include <QtGui/QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QImage myImage;
myImage.load("test.png");
QLabel myLabel;
myLabel.setPixmap(QPixmap::fromImage(myImage));
myLabel.show();
return a.exec();
}发布于 2013-08-03 02:46:54
对我来说,使用QLabel绘制图像似乎有点杂乱无章。对于较新版本的Qt,您可以使用QGraphicsView小部件。在Qt Creator中,将一个Graphics View小部件拖到您的UI上,并将其命名为某个名称(在下面的代码中命名为mainImage )。在mainwindow.h中,将类似以下内容作为private变量添加到MainWindow类中:
QGraphicsScene *scene;
QPixmap image;然后只需编辑mainwindow.cpp并使构造函数如下所示:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
image.load("myimage.png");
scene = new QGraphicsScene(this);
scene->addPixmap(image);
scene->setSceneRect(image.rect());
ui->mainImage->setScene(scene);
}https://stackoverflow.com/questions/4474086
复制相似问题