Qt运行后ui界面没有最小化最大化
时间: 2023-07-30 19:04:20 浏览: 235
如果你使用的是Qt Designer设计界面,那么最小化、最大化和关闭按钮应该会出现在窗口标题栏的右侧。如果你在代码中手动设置了窗口的标题栏,那么你需要将最小化、最大化和关闭按钮添加到自定义的标题栏中。你可以使用以下代码添加这些按钮:
```cpp
// 最小化按钮
QToolButton *minimizeButton = new QToolButton(this);
minimizeButton->setIcon(QIcon(":/icons/minimize.png"));
minimizeButton->setToolTip(tr("Minimize"));
minimizeButton->setFixedSize(20, 20);
connect(minimizeButton, SIGNAL(clicked()), this, SLOT(showMinimized()));
// 最大化按钮
QToolButton *maximizeButton = new QToolButton(this);
maximizeButton->setIcon(QIcon(":/icons/maximize.png"));
maximizeButton->setToolTip(tr("Maximize"));
maximizeButton->setFixedSize(20, 20);
connect(maximizeButton, SIGNAL(clicked()), this, SLOT(showMaximized()));
// 关闭按钮
QToolButton *closeButton = new QToolButton(this);
closeButton->setIcon(QIcon(":/icons/close.png"));
closeButton->setToolTip(tr("Close"));
closeButton->setFixedSize(20, 20);
connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
// 将按钮添加到标题栏中
QHBoxLayout *titleLayout = new QHBoxLayout(ui->titleBar);
titleLayout->addWidget(minimizeButton);
titleLayout->addWidget(maximizeButton);
titleLayout->addWidget(closeButton);
titleLayout->addStretch();
titleLayout->setContentsMargins(0, 0, 0, 0);
```
这里的 `ui->titleBar` 是一个自定义标题栏的 QWidget,你需要先在 Qt Designer 中将窗口的标题栏设置为此 QWidget。你还需要将 minimize.png、maximize.png 和 close.png 这三张图片添加到你的项目资源中。
阅读全文