3

在Ubuntu 13.04上,如果使用QWidget::showMinimized()最小化窗口,我发现通过单击系统任务栏的应用程序图标恢复它后,召回 QWidget::showMinimized()无法正常工作。

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

showMinimized()如果之前调用过 in (甚至显示窗口),则inminimumWin()不再起作用。

4

2 回答 2

3

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

void MainWindow::on_pushButton_clicked()
{
    showMinimized();
    showNormal();
}
于 2013-07-07T10:09:20.853 回答
1

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

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

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

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

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

于 2016-01-19T07:16:14.740 回答