QWidget :: showMinimized()不起作用

时间:2013-07-07 09:11:38

标签: qt

在Ubuntu 13.04上,如果使用QWidget::showMinimized()来最小化窗口,我发现通过单击系统任务栏的应用程序图标进行恢复后,调用QWidget::showMinimized()无效。

connect(minimumBtn,SIGNAL(clicked()),this,SLOT(minimumWin()));
minimumWin(){
   showMinimized();
}
showMinimized()中的

minimumWin()如果之前已被调用(即使显示窗口),也不再有效。

2 个答案:

答案 0 :(得分:3)

我可以使用Linux Mint和Qt 5.1重现这一点。这很可能是Qt中的一个错误。我发现如果你在showNormal()之后立即调用showMinimized(),窗口最小化,在从任务栏恢复之后,可以再次最小化窗口。例如:

void MainWindow::on_pushButton_clicked()
{
    showMinimized();
    showNormal();
}

答案 1 :(得分:1)

我遇到了这个问题,但我没有完全解决它

在ubuntu系统中,您可以在QWidget类构造函数中使用此函数:

this->setWindowFlags(Qt::Window|Qt::FramelessWindowHint||Qt::WindowMinimizeButtonHint);

然后showMinimized()有效使用(代码运行时没有框架和最小化按钮,如果有,那么你跟我在一起)。

但它只在ubuntu系统中有效,而且这种方法在我公司的定制(如ubuntu)操作系统中无效。我不知道为什么。