#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QBitmap>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
void Widget::paintEvent(QPaintEvent *event)
{
QPainter p(this);
QPixmap pMap;
pMap.load("://imag_thunder1.jpg");
p.drawPixmap(0,0,pMap); //这是另外一种放图片的方法
QBitmap bitmap;
bitmap.load("://imag_thunder1.jpg");
p.drawPixmap(0,200,bitmap); //bitmap是pixmap的子类 只有黑白两个颜色
//如果是背景透明的情况,没有白色的底:bitmap就会有黑色的底
//如果是背景不透明的情况,有白色的底,bitmap就没有黑底;
}
Widget::~Widget()
{
delete ui;
}
QPixmap和QBitmap : QPixmap 是彩色绘图 ,而QBitmap是黑白绘图,并且QBitmap是QPixmap的一个子类
而在这个关于背景是否透明上也有说法,程序的注释也有提到
在选择上如果需要彩色绘图那肯定用QPixmap 如果用黑白就够了就用QBitMap,可以节省资源