一般是这样的,repaint()或update()--->paintevent()----->执行paintevent()中的
QPainter 能不能这样,绕过update()和paintevent(),就像这个样子:我添加一个public方法,就叫draw()好了,然后把要使用QPainter的代码写入draw()里,用的时候只要外部调用xxxxx.draw()或xxxx->draw()
之所以有这样的想法,是因为我有2至3种不同的绘画操作,若使用QPainter必须经过paintevent(),那我必须把这几种不同的绘画操作都写在paintevent()里,那一旦repaint()或update()导致执行paintevent(),如何区分和选择这几种绘图操作就是个
问题。当然,我完全可以在paintevent()里用诸如下面的语句对几种绘图操作加以选择,但总觉得这样别扭,因为要额外添加标记变量。
switch(xxx)
{
case 1:......break;
case 2:....beak;
.............
}
如果能绕过paintevent(),那我就只要多写几个方法:draw1()、draw2()、draw3()等等,通过外部调用不同的drawXX()来加以区别。因为这种调用是通过函数名
显示区别的,看起来要舒服一点
[ 此帖被zooood在2011-04-15 10:33重新编辑 ]