我使用QTimer来控制何时更新我的小部件。 很多人建议这样做:
void uavTabGroup::updateMgr()
{
setUpdatesEnabled(false);
for (updateCtr = 0; updateCtr < max_num; updateCtr++)
{
if (infoView[updateCtr] != NULL)// its a child widget to the current widget
{
infoView[updateCtr]->updateDisplay();
}
}
setUpdatesEnabled(true);
}
但我发现要按顺序更新小部件会给我更好的结果:
void uavTabGroup::updateMgr()
{
if (updateCtr >= max_num)
updateCtr = 0;
if (infoView[updateCtr] != NULL)
{
infoView[updateCtr]->updateDisplay();
}
updateCtr++;
}
在这种情况下,updateMgr()
以更高的频率被调用,但每次只更新其子窗口小部件之一。
什么是最好的方式?