工程文件:
mywidget.h:
#ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> namespace Ui { class MyWidget; } class MyWidget : public QWidget { Q_OBJECT public: explicit MyWidget(QWidget *parent = 0); ~MyWidget(); protected: //重写绘图事件 //如果是给窗口绘图,一定要在paintEvent()绘图, void paintEvent(QPaintEvent *event); private: Ui::MyWidget *ui; }; #endif // MYWIDGET_H
mywidget.cpp:
#include "mywidget.h" #include "ui_mywidget.h" #include <QPainter> #include <QBitmap> MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MyWidget) { ui->setupUi(this); } MyWidget::~MyWidget() { delete ui; } //这一节主要讲的的bitmap和pixmap之间的区别,bitmap是黑白图,pixmap是彩色的,假如仅仅是黑白色的,就使用bitmap void MyWidget::paintEvent(QPaintEvent *event) { QPainter p(this); //QPixmap 图片背景透明 p.drawPixmap(0,0,QPixmap(":/res/2.png")); //QBitmap 图片背景透明 p.drawPixmap(300,0,QBitmap(":/res/2.png")); }