c++ QWidget窗口如何最小化在图标处
时间: 2023-12-03 11:05:45 浏览: 55
您可以在重写`showMinimized()`函数时,调用`setWindowFlags()`函数设置窗口标志,以便将窗口显示在任务栏的图标处。然后,您可以使用`QWidget::showMinimized()`函数将窗口最小化。
以下是一个简单的示例代码:
```cpp
#include <QApplication>
#include <QWidget>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = nullptr) : QWidget(parent)
{
setGeometry(100, 100, 300, 200); // 设置窗口大小和位置
}
void showMinimized() override
{
setWindowFlags(Qt::WindowMinimizeButtonHint | Qt::WindowSystemMenuHint | Qt::WindowStaysOnTopHint); // 设置窗口标志
QWidget::showMinimized(); // 最小化窗口
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget w;
w.show();
return a.exec();
}
```
当您调用`showMinimized()`函数时,窗口将最小化并显示在任务栏的图标处。请注意,`setWindowFlags()`函数必须在窗口显示之前调用,否则它将不起作用。