void test()
{
if(flag==1)
{
qDebug("in if");
showNormal();
flag=0;
}
else
{
qDebug("in else");
showMinimized();
flag=1;
}
}
Run Code Online (Sandbox Code Playgroud)
我用aQTimer来连接这个函数。我希望它这样运行:最小化,睡眠 3 秒,恢复到窗口模式,睡眠 3 秒,最小化....
但是实际结果被最小化了,sleep 3,什么都不做,sleep 3,什么都不做,sleep 3,恢复到窗口模式。最小化后,有两次函数什么都不做。这是怎么发生的,如何解决?
假设您的小部件是 w,然后尝试
w->setWindowState(w->windowState() & ~Qt::WindowMinimized | Qt::WindowActive);
Run Code Online (Sandbox Code Playgroud)
恢复窗口,和
w->setWindowState(w->windowState() | Qt::WindowMinimized)
Run Code Online (Sandbox Code Playgroud)
显示最小化的窗口。您应该发布更多代码,以便我们更好地理解问题。