问题提问时简化了,具体一下。我在开机显示函数里构造了
painterWatch = new QPainter( watch, FALSE );(watch:Frame)
在需要显示速度表的地方调用画速度表的函数。(没有在painterEvent里面画)
void mainWindow::startSlot()
{ painterWatch->setWindow( -95000, -105000, 190000, 190000 );
painterWatch->setRasterOp (Qt::CopyROP );
painterWatch->setPen( QPen( Qt::blue, 2, Qt::SolidLine ) );
painterWatch->drawArc( -50000, -50000, 100000, 100000, 215*16, -250*16);
painterWatch->drawArc( -40000, -40000, 80000, 80000, 215*16, -250*16);
.......
}
在主界面下通过不同的按钮调用不同的其他界面,其中一个界面(也是QWidget)使用了QcomboBox,如果在这个界面下单击了选择框,再返回到主界面,速度表就刷不出来了。(返回时调用了画速度表的函数,也可以跟踪到此函数执行了)
希望能得到高手指点!感谢!