在Ubuntu 13.04上,如果使用QWidget::showMinimized()
来最小化窗口,我发现通过单击系统任务栏的应用程序图标进行恢复后,调用QWidget::showMinimized()
无效。
connect(minimumBtn,SIGNAL(clicked()),this,SLOT(minimumWin()));
minimumWin(){
showMinimized();
}
showMinimized()
中的 minimumWin()
如果之前已被调用(即使显示窗口),也不再有效。
答案 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)操作系统中无效。我不知道为什么。