Qt绘图

Posted on 2018-12-17 20:04  yacbo  阅读(169)  评论(0编辑  收藏  举报

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

Copyright © 2024 yacbo
Powered by .NET 8.0 on Kubernetes