Qt中窗体控件按照比例缩放,自适应窗口大小进行布局

    最近在做本科毕设,用到了Qt,无奈本人实在是太过于小白了,很多东西都进行了很久的探索,比如今天说到的窗体控件布局...一把辛酸泪

    首先就是创建一个GUI文件,然后进行UI设计,这里就只需要从左边进行拖拽,这个很easy啦...

    然后对其进行布局,比如右边,右下两个pushbutton我们可以对其进行水平布局,然后再将其整体与上边两个graphics view进行垂直布局!

布局->选定要进行布局的控件,然后进行右击最后一项就是布局,或者直接在左侧栏里进行layout。


比例调整<

Qt是一种跨平台的C++应用程序框架,它支持创建具有响应式用户界面的应用程序,包括窗口和内置的各种控件。在Qt窗口和内部控件可以方便地进行比例缩放,这是因为其提供了一套灵活的布局管理和尺寸管理机制。 `QMainWindow` 和 `QWidget` 类都支持设置大小政策(size policy),通过这种方式可以控制控件的大小变化。常见的大小政策有: 1. **固定大小**(Fixed Size Policy):控件保持固定的宽度和高度,不会随着窗口调整而缩放。 2. **最小最大大小**(Minimum Size Policy):控件有最小和最大大小限制,超出范围时会自动调整到边界。 3. **最佳适应**(Expanding Policy):控件会尽可能填充可用空间,当窗口缩小时控件也会缩小。 4. **首选大小**(Preferred Size Policy):控件默认大小,如果窗口不够大,控件会按比例缩放以适应。 要实现控件比例缩放,你可以使用如下的步骤: - 设置控件的大小政策。 - 调整窗口的大小时,应用`resizeEvent` 或 `QResizeEvent` 来同步控件的大小变化。 - 如果需要动态调整控件间的相对位置,可以使用`setGeometry()`或`move()`方法。 ```cpp // 示例代码 QWidget *centralWidget = new QWidget(this); centralWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); // 设置为最佳适应 QVBoxLayout *layout = new QVBoxLayout(centralWidget); // 添加控件... setCentralWidget(centralWidget); // 将央widget设为窗口内容 // 窗口大小改变事件处理 connect(this, &QMainWindow::resizeEvent, [this](QResizeEvent* event) { centralWidget->adjustSize(); // 控制器件大小以适应窗口 }); ```
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值