一、QPainter类的使用及介绍
1.头文件
#include<Qpainter>//该类可以将图片放到某个指定位置的控件上 如Qwidget Qdialog 等
//图片类文件
#include<QPixmap>//QPixmap继承了QPaintDevice,指令主要功能是针对屏幕优化的图片,如背景图
#include<QBitmap>//QBitmap继承自QPixmap
#include<QImage>//提供像素级别的操作
//以上QPixmap QBittemp QImage 均可提供图让Qpainter加载到指定控件的指定位置,也可以设置大小
//不知道是否有其他用途,暂定这个用途= =咱懂得不多
2.定义
public:
void paintEvent(QPaintEvent*);//因为这里是QT自带的消息循环,不需要类,只需要函数定义就会自动在QT程序的后台启动
//注意,因为是系统自带的函数,所以不能修改,千万别改它,改它就用不了了= =注意啊
//类似的定义还有如 virtual void keyPressEvent(QKeyEvent *ev);键盘按下
// virtual void keyRealseEvent(QKeyEvent *ev); 键盘松开
3.创建和使用
void QtGuiApplication::paintEvent(QPaintEvent*)//绘图消息
{
//因为这里是QT自带的消息循环,所以只要在QT类中定义了,原则上只要定义出来就可以直接使用了。
//创建画家,指定绘图设备
QPainter painter(this);//绘图加载到当前窗口
//创建QPixmap(像素图)对象
QPixmap pix;
QPixmap pix2;
QPixmap pix3;
//加载图片的像素图
pix.load(":/Image/8.jpg");
//绘制背景图自适应扩大
painter.drawPixmap(0, 0,this->width(), this->height(), pix);
//加载图片的像素图
pix2.load(":/Image/9.jpg");
//绘制背景图自适应扩大
painter.drawTiledPixmap(0, 0,this->width(), this->height(), pix2);
//加载图片的像素图
pix3.load(":/Image/10.jpg");
//绘制背景图自适应扩大
painter.drawTiledPixmap(0, 0, this->width(), this->height(), pix3);
//如果当前的窗口有延迟,导致显示出现一些问题,可以使用窗口事件刷新函数,该函数会立刻刷新QPaintEvent事件
//void QWidget::repaint()
//使用时只需要repaint();即可
}