Qt 单击任务栏图标实现最小化
时间: 2023-11-30 21:03:43 浏览: 280
最小化到任务栏
可以通过在窗口的 `changeEvent()` 事件中监听 `WindowStateChange` 事件,然后在事件处理函数中判断窗口的状态是否为最小化状态,如果是,则执行 `hide()` 函数将窗口隐藏。具体实现代码如下:
```cpp
void MainWindow::changeEvent(QEvent* event)
{
if (event->type() == QEvent::WindowStateChange)
{
if (windowState() & Qt::WindowMinimized)
{
hide(); // 隐藏窗口
}
}
QMainWindow::changeEvent(event);
}
```
然后在窗口的构造函数中调用 `setWindowFlags()` 函数设置窗口属性,使窗口可以被单击任务栏图标后恢复显示:
```cpp
setWindowFlags(Qt::Window | Qt::WindowMinimizeButtonHint | Qt::WindowStaysOnTopHint);
```
其中,`Qt::WindowStaysOnTopHint` 表示窗口始终在最顶层显示。
阅读全文