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里面实现