1.绘图
//在窗口中绘图,重写绘图事件,虚函数 void paintEvent(QPaintEvent *event) { QPainter p(this); p.drawXXX(); p.drawPixmap(0,0,width(),height(),QPixmap()); p.drawPixmap(x,0,80,80,QPixmap());
p.drawImage(); //QImage
p.drawPicture(); //QPicture
p.drawLine();
d.drawPixmap(); //QBitmap 黑白,光标 }
x += 20;
if(x > width())
{
x = 0;
}
update();//间接调用paintEvent()
2.绘图设备
QPixmap:针对屏幕进行优化了,和平台相关,不能对图片进行修改。
QImage:和平台无关,可以对图片进行修改,在线程中绘图。
QPicture:保存绘图的状态(二进制文件)
QPainter p; QPicture pic; p.begin(&pic); //制定绘图设备 //绘图动作 p.end(); pic.save("demo.aa"); Qpicture temp; temp.load("demo.aa");
不规则窗口
1)给窗口画一张背景图
2)去表框
3)设定属性(背景透明)
4)移动坐标是相对屏幕而言