QT窗体禁用最大化按钮和禁止调节窗口大小

1.对于主窗体在main.cpp中

void QWidget::setFixedSize ( const QSize & s )

void QWidget::setFixedSize (  int w, int h ) // 重载

设置这个窗口部件的最小大小和最大大小都为s,这样就可以防止它变大或者变小。

对于界面,设置后界面大小不能被拖大拖小;对于控件大小不受布局的影响。

 

转载于:https://www.cnblogs.com/Koomee/p/9212836.html

Qt中,如果你想隐藏窗口最大化最小化按钮,你可以通过设置窗口样式装饰边框来实现。下面是一个简单的步骤: 1. **创建窗口**: 首先,在`QMainWindow`或者其他的窗体类中初始化窗口。 ```cpp QMainWindow *mainWindow = new QMainWindow(); ``` 2. **设置窗口风格**: 使用`setWindowFlags()`方法,并指定`Qt::WindowNoTitleBar``Qt::CustomizeWindowHint`,前者会移除标题栏,后者允许自定义窗口外观。 ```cpp mainWindow->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::WindowNoTitleBar | Qt::CustomizeWindowHint); ``` 这里使用了`Qt::FramelessWindowHint`来移除边框,`Qt::WindowStaysOnTopHint`可以让窗口始终保持在最上层。 3. **禁止最大化最小化操作**: 虽然设置了`Qt::WindowNoTitleBar`,系统默认的图标还是可用的。如果你也想禁用它们,可以在`show()`函数之前重绘窗口,覆盖默认图标。 ```cpp void MainWindow::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setPen(Qt::NoPen); painter.setBrush(Qt::black); painter.drawRect(rect()); } // 然后在show()函数里调用这个方法 mainWindow->show(); ``` 4. **注意事件处理**: 如果你需要处理用户试图点击最大化/最小化按钮的行为,可以添加鼠标点击事件处理器并阻止默认行为。 现在,窗口将没有标题栏,也没有最大化最小化按钮。然而,这并不意味着完全禁止用户手动调整大小,因为窗口边缘通常还是可拖动的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值