Display Images in widget

Posted on 2016-04-01 21:23  徐岩  阅读(177)  评论(0)    收藏  举报

在自定义的widget中显示图片。

思路:定义类MyWidget,public 继承自QWidget,然后实现 void paintEvent(QPaintEvent *)。

新建Empty qmake project,命名为DisplayImages,添加三个文件 mywidget.h  mywidget.cpp  main.cpp

mywidget.h 

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QWidget>
class MyWidget : public QWidget
{
public:
    MyWidget(QWidget *parent = 0);

protected:
    void paintEvent(QPaintEvent *event);
};

#endif // MYWIDGET_H
View Code

mywidget.cpp

#include "mywidget.h"
#include <QPainter>
#include <QImage>

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    setWindowTitle("Display Images");
}

void MyWidget::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event);
    QPainter painter(this);
    QImage image("../DisPlayImages/dot.png");
    // Q_ASSERT(!image.isNull());
    painter.drawImage(100, 100, image);
    painter.drawImage(200, 200, image);
}

main.cpp

#include <QApplication>
#include "mywidget.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MyWidget widget;
    widget.show();
    return app.exec();
}
View Code