QBitmap用于画黑白图,QPixmap画彩色图。
示例项目:02_QBitmap 代码:
widget.h:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
protected:
//要在窗口里画图,必须重写这个函数;
void paintEvent(QPaintEvent *event);
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp:
#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QBitmap>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::paintEvent(QPaintEvent *event)
{
QPainter p(this);
//QPixmap画透明背景;
p.drawPixmap(0,0,QPixmap("../images/butterfly.png"));
//QBitmap画黑白图;
p.drawPixmap(200,0,QBitmap("../images/butterfly.png"));
//QPixmap画白色背景图
QPixmap pixmap;
pixmap.load("../images/butterfly1.png");
p.drawPixmap(0,150,pixmap);
//QBitmap画白色背景图
QBitmap Bitmap;
Bitmap.load("../images/butterfly1.png");
p.drawPixmap(200,150,Bitmap);
}
运行效果: