paintEvent(QPaintEvent*)是系统自动调用的

Posted 体育.委员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了paintEvent(QPaintEvent*)是系统自动调用的相关的知识,希望对你有一定的参考价值。

 qt中函数paintEvent(QPaintEvent*)是被系统自动调用。

  paintEvent(QPaintEvent *)函数是QWidget类中的虚函数,用于ui的绘制,会在多种情况下被其他函数自动调用。

  1.QPainter类

  这个类主要提供在窗体或者其他绘图设备上进行绘图的功能,在paintEvent(QPaintEvent *)中使用如下:

技术分享

  此类中常用的函数有:

  drawXXX()函数,用于绘制图形、文字和路径等;

  fillXXX()函数,用于填充,可在指定区域内进行填充;

  brush()和pen()  笔刷和钢笔的相关操作

  2.QPainterPath类

  这个类为绘图提供容器,主要还是用于描述绘制路径。可以通过函数setFillRule(Qt::WindingFill);来设置填充规则,通过addRect()函数来添加绘制区域。

  

  3.QColor类

  此类提供颜色支持,这里的颜色可以定义四个属性:QColor ( int r, int g, int b, int a = 255 ),即红、绿、蓝和透明度。除此之外,也可以单个设置这四个值,通过类似setAlpha()的函数即可设置,这对设计渐进效果很有帮助。

  

  下面送上一段摘自别人项目中的代码,仅供参考学习。

技术分享

以上是关于paintEvent(QPaintEvent*)是系统自动调用的的主要内容,如果未能解决你的问题,请参考以下文章

qt paintEvent

QWidget 的 QT paintEvent

QWidget.paintevent() 与 QLabel.setPixmap()

Qt5 paintEvent() 区域太小

剪辑小部件的paintEvent

QGraphicsView的paintEvent双缓存绘画