如何在qt中最小化时恢复到窗口模式

时间:2016-09-12 07:17:59

标签: c++ linux qt

void test()
{
    if(flag==1)
    {
        qDebug("in if");
        showNormal();
        flag=0;
    }
    else
    {
        qDebug("in else");
        showMinimized();
        flag=1;
    }
} 

我使用QTimer来连接此功能。 我希望它像这样运行:最小化,睡眠3秒,恢复到窗口模式,睡眠3秒,最小化....

但是实际结果是最小化,睡眠3,什么都不做,睡3,什么都不做,睡3,恢复到窗口模式。最小化后,有两次功能无效。怎么会发生这种情况,以及如何解决它?

1 个答案:

答案 0 :(得分:2)

假设您的小部件是w,请尝试

w->setWindowState(w->windowState() & ~Qt::WindowMinimized | Qt::WindowActive);

恢复窗口,

w->setWindowState(w->windowState() | Qt::WindowMinimized)

显示窗口最小化。您应该发布更多代码,以便我们更好地理解问题。