首页 > 其他分享 >QT之ui控件随窗口布局的大小而自适应大小

QT之ui控件随窗口布局的大小而自适应大小

时间:2024-08-01 15:25:33浏览次数:11  
标签:控件 sizePolicy sizeHint QT 布局 改变 ui qt

QT之ui窗口自适应布局

新建个工程说明,注意此处勾上Generate form

根据开发电脑的系统选择套件

点开widget.ui,如图

鼠标随意托几个常用控件展示,如图

三个控件,如图,水平布局

sizePolicy策略:

图中,控件的sizePolicy策略将决定上面这三个控件组在自适应成的控件组的分配策略。

Fixed               控件大小不能改变

Minimum         控件的sizeHint为控件的最小尺寸。控件不能小于这个sizeHint,但是可以放大。

Maximum        控件的sizeHint为控件的最大尺寸,控件不能放大,但是可以缩小到它的最小的允许尺寸

Preferred        控件的sizeHint是它的sizeHint,但是可以放大或者缩小

MinimumExpending         控件已经是最新值,但可以放大

Expanding                        控件可以自行增大或者缩小

Ignored                             控件将获得尽可能多的空间。

layout设置:

layoutXXmargin:表示设置该布局器中的 子控件 距离 父控件边框 的上下左右距离


layoutSpacing:表示子控件它们之间的距离


layoutStretch:设置里面子控件它们的宽度或者高度显示比例。注意不是所有值都有效的(合理),如果无效,我们需要都设为非0值,就有效了。

layoutSizeConstraint:布局器的尺寸约束,比如被压缩或拉伸时候,控制尺寸的策略是怎样的,这个跟QWidget的sizePolicy属性是一个意思,比如固定,扩展 ... 

在这个布局中

2、3、4:水平布局

5、6垂直布局,56又与7水平布局

567与234垂直布局

234567与1垂直布局自此形成一个整体。

其中单个子控件的sizePolicy策略我都选择了Expanding,放便展示,具体情况具体选择。

点击旁边的空白位置,(其实就是选择此Widget)调整到合适大小

这里我直接将宽度改成380*350,点击空白部分,点击布局-栅格布局,即将1234567这个整体与此Widget(380*350)绑定在一起。整体会随着此Widget的大小改变而改变。

运行看一下效果

鼠标拖动窗口边框,改变大小,对应控件也改变。

这里控件的改变就是上文提到的sizePolicy策略,单个控件怎么改变,由自己设定,

组合之间怎么改变则是上文中layout的设置。

 这里我们主要展示自适应布局,至于具体怎么布的好看,布局的知识,参考这些篇文章吧

Qt入门学习之——布局管理器_qt 打破布局-CSDN博客

QT中layoutstretch属性简析_qt layoutstretch-CSDN博客

qt 如何设计好布局和漂亮的界面。_qt 界面-CSDN博客

标签:控件,sizePolicy,sizeHint,QT,布局,改变,ui,qt
From: https://blog.csdn.net/m0_63485514/article/details/140846729

相关文章

  • android.uid.system sendBroadcast失效的问题
    如果是系统应用android:sharedUserId="android.uid.system"报这个错 Callingamethodinthesystemprocesswithoutaqualifieduser:android.app.ContextImpl.sendBroadcast:1188android.content.ContextWrapper.sendBroadcast:解决添加如下权限<uses-permissionandroi......
  • 题解:CF559B Equivalent Strings
    CF559BEquivalentStrings题解题目描述吐槽一下,题目翻译有歧义。思路分析你会发现,当你需要判断字符串\(a,b\)是否等价时,如果长度为偶数,需要继续判断字符串\(a\)拆分的字串。所用知识s.substr(i,j)//在字符串s中,从位置i开始截取长度为j的字串参考代码#include<bits......
  • 【FANUC】发那科机器人ROBOGUIDE安装教程(含安装包)
    ......
  • Ant design pro和umi ui
    #Antdesignpro#在Antdesignpro中umi@4是不支持umiui可视化辅助编程工具(右下角的小球球),umi@3才支持umiui可视化辅助编程工具。在Antdesignpro官网默认使用的是umi@4,想要使用umi@3需要先卸载当前安装的pro-cli,卸载命令如下:npmuninstall-g@ant-design/pro-cli然后......
  • 劝你先别更新!!最新Stable Diffusion WebUI 1.10已来!WebUI终于支持SD3大模型了!你跑起来
    你的SD3大模型在SDWebUI1.10.0中跑起来了么?今天发现StableDiffusionWebUI于昨日推出了最新SDWebUI1.10.0版本。令人比较兴奋的是该版本支持了SD3大模型,同时也新增了DDIMCFG++采样器。主要更新内容如下:最新版本地址:更新后重启,可在WebUI设置中开启对T5文本的支持,......
  • ComfyUI PVC 手办工作流!一键生成你的专属卡通形象!
    前言ComfyUIPVC手办工作流!一键生成你的专属卡通形象!......
  • 1、.Net UI框架:UWP - .Net宣传系列文章
    UWP(UniversalWindowsPlatform)是微软推出的一种应用程序开发平台,它允许开发者创建能够在各种Windows10设备上运行的应用程序,包括PC、平板、手机、Xbox、HoloLens等。UWP是Windows10操作系统的核心组件之一,它提供了统一的API和开发工具,使得开发者能够编写一次代码,然后在多个......
  • services.tty、services.build 和 services.port 必须是映射
    我开始使用Docker和Python,并按照我购买的教科书进行操作。我遇到了这个错误,但我认为我的缩进是正确的。其他问题的答案都是关于缩进的,我可以在其他问题中看到缩进错误,但是是的,我认为我的答案是对的,所以我不确定我还做错了什么。version:'3.8'services:build:.......
  • 在 pyqt6 QTextEdit 中显示数据库查询
    我想实现以下非常小的项目,即用户应该输入产品名称,Python应该在数据库中搜索并在pyqt6桌面应用程序中显示查询结果,为此我已经实现了以下基本GUI形式:这里用户输入产品,然后单击按钮,结果将显示在空白处,即:QTextEdit(),最有趣的部分是这个功能:defreturn_product_......
  • Arduino之串口通信函数
    串口通信,也称为串行通信,是一种数据传输方式,其中数据以串行的形式按位顺序发送和接收。Arduino板通常具有内置的串口通信功能,允许它与其他设备(如计算机、传感器或其他微控制器)进行数据交换。Arduion的串口通信主要是通过TX/RX引脚实现的。TX(发送)和RX(接收)引脚是Arduino等微控制......