Qt 中的小部件可见性更改后小部件何时更新?
When will widgets update after widget visibility change in Qt?
我想一个一个地更改两个小部件的可见性。就我而言,我需要做一些处理然后休眠 1s 并更改 WidgetA 的可见性。并睡眠 1 秒更改 WidgetB 的可见性。这是我的代码。
...// do process D
Sleep(1000);
WidgetA->setVisible(true);
Sleep(1000);
WidgetB->setVisible(true);
但是结果不是我想要的。 WidgetA 和 WidgetB 的可见性在进程 D 完成后超过 2 秒后同时发生变化。
为什么WidgetA和WidgetB的可见性同时改变了?当 WidgetA->setVisible(true);
被执行时,它们不是实时变化的吗?小部件什么时候更新?
为什么超过2秒?
void MainWindow::Initialize()
{
Sleep(1000);
WidgetA->installEventFilter( this );
WidgetA->setVisible( true );
}
bool MainWindow::eventFilter( QObject *object, QEvent *event )
{
if( object == WidgetA )
{
if( event->type() == QEvent::Show )
{
Sleep(1000);
WidgetB->setVisible( true );
}
}
return QMainWindow::eventFilter( object, event );
}
我想一个一个地更改两个小部件的可见性。就我而言,我需要做一些处理然后休眠 1s 并更改 WidgetA 的可见性。并睡眠 1 秒更改 WidgetB 的可见性。这是我的代码。
...// do process D
Sleep(1000);
WidgetA->setVisible(true);
Sleep(1000);
WidgetB->setVisible(true);
但是结果不是我想要的。 WidgetA 和 WidgetB 的可见性在进程 D 完成后超过 2 秒后同时发生变化。
为什么WidgetA和WidgetB的可见性同时改变了?当
WidgetA->setVisible(true);
被执行时,它们不是实时变化的吗?小部件什么时候更新?为什么超过2秒?
void MainWindow::Initialize()
{
Sleep(1000);
WidgetA->installEventFilter( this );
WidgetA->setVisible( true );
}
bool MainWindow::eventFilter( QObject *object, QEvent *event )
{
if( object == WidgetA )
{
if( event->type() == QEvent::Show )
{
Sleep(1000);
WidgetB->setVisible( true );
}
}
return QMainWindow::eventFilter( object, event );
}