Qt设置QWidget界面窗口WindowFlags添加最小化最大化按钮

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    Qt::WindowFlags flag=windowFlags();
    Qt::WindowFlags flags=flag|Qt::WindowMinMaxButtonsHint;
    setWindowFlags(flags);

}
MainWindow::~MainWindow()
{
    delete ui;
}

界面如下:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你使用的是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 这三张图片添加到你的项目资源中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值