Qt绘图

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)移动坐标是相对屏幕而言

原文地址:https://www.cnblogs.com/mathyk/p/10133562.html