当前位置: 代码迷 >> QT开发 >> 如何实现 不用 paintEvent(QPaintEvent *event)画图
  详细解决方案

如何实现 不用 paintEvent(QPaintEvent *event)画图

热度:681   发布时间:2016-04-25 03:05:09.0
怎么实现 不用 paintEvent(QPaintEvent *event)画图
Qt中经常是重载  paintEvent(QPaintEvent *event)  方法来画图,如果想要不用 paintEvent(QPaintEvent *event),自己设计一个画图函数该怎么做?

比如 paintEllipse(QPaintEvent *event,int x,int y,int width,int height)
------解决思路----------------------
绘图要放在paintEvent里面,原因有很多,比如,绘图是要与Window Manager同步的——然后可以进行Alpha Blending、去毛边等,Qt的paintEvent已经帮你做好了

即便不考虑这个,你自己做了个paint,在paintEvent的时候又会被覆盖掉。而较新Qt中又引入了部分重绘的功能,最后很可能导致你的内容绘制了一部分,Qt的内容绘制了另一部分

如果有更新绘制需要的话,调用update或者repaint,绘图在paintEvent里面实现
  相关解决方案