Qt Desginer布局方法

2023-11-19

关于Qt Desginer中的布局方法,网上教程少之又少,个人经过反复的实践和摸索,觉得可以用一句话来概括:
先不断地进行小布局,然后对整体进行大布局

先不断地进行小布局的目的就是将同为一组的控件按某个格式排列使界面干净有序,同时方便以后对整体进行大布局。
对整体进行大布局的目的就是控制各个小布局之间及小布局到窗体边界的距离,同时使得控件自适应窗口变化。

本篇博客通过下述案例来解释这句话:“先不断地进行小布局,然后对整体进行大布局”。

在这里插入图片描述

首先我们把选择字体格式的界面做出来,因为选择字体格式是多选,所以我们需要拖拽3个复选框用于选择字体格式:

在这里插入图片描述

因为它们是水平在一条直线的,所以我们现在可以对他们3个控件进行一个小布局,即给它们套一个水平布局,但是如果不加弹簧控制他们之间的距离,那么将它们水平布局后,它们就是挨在一起的,如下:

在这里插入图片描述

所以我们还需要再加两个弹簧来加长水平布局后3个复选框的距离,那么现在就给它们加弹簧并且对它们进行水平布局:

在这里插入图片描述

现在一个小布局好了,这3个复选框我们可以将它们全部放到一个名为groupBox的容器中,方便管理,那么我们现在拖出groupBox,然后将3个复选框形成的小布局当成一个整体拖入groupBox中。

在这里插入图片描述
groupBox和里面的3个复选框是一个整体,为了方便在以后的大布局中把它们当成一个整体使用,现在我们要将groupBox和里面的3个复选框也进行一个布局,选中整个复选框,然后点击垂直布局或者水平布局或者栅格布局:

在这里插入图片描述

至此,我们完成了第二个小布局,并且完成了选择字体格式的界面。现在开始完成选择字体颜色的界面,方法是一样的。因为选择字体颜色是单选,所以我们需要拖拽3个radioButton出来,给它们之间添加两个弹簧来加长布局后它们之间的距离,然后因为它们是水平摆放的,所以我们给3个radioButto施加一个水平布局,为了方便管理,再拖出一个groupBox,将3个radioButton形成的水平布局当成一个整体拖到groupBox中,为了方便在以后的大布局中能够将groupBox和3个radioButton当成一个整体使用,我们需要给它们也施加一个布局,选中它们,然后点击水平布局或者垂直布局或者栅格布局:

在这里插入图片描述

至此,我们已经完成了4个小布局,现在开始完成显示字体的界面,拖拽一个plainTextEdit即可,因为它自己就是一个整体,因此不需要对它进行小布局。

在这里插入图片描述
至此,界面已经初步完成,只差最后一步,对整个界面进行大布局。如果直接对整体进行垂直布局,最后的结果是这样的:
在这里插入图片描述

为了控制各个小布局之间以及各个小布局到窗口的距离,我们需要先给它们添加弹簧:

在这里插入图片描述

如果使用垂直布局的话,水平弹簧就会失效,如果使用水平布局的话,垂直弹簧就会失效。因为这里既使用了水平弹簧,又使用了垂直弹簧,所以这里只能使用栅格布局来对整体进行布局,右击空白处,选择布局,然后选择栅格布局:

在这里插入图片描述

至此,我们使用了4个小布局,最后进行了一个整体布局,完成了界面的设计,运行后的界面如下:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt Desginer布局方法 的相关文章

  • 无法使用已与其底层 RCW 分离的 COM 对象。在 oledb 中

    我收到此错误 但我不知道我做错了什么 下面的代码在backrgroundworker中 将异常详细信息复制到剪贴板 System Runtime InteropServices InvalidComObjectException 未处理 通
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • 在高 dpi Windows 平台上自动重新缩放应用程序?

    我正在编写一个需要在高 dpi Windows 192dpi 而不是 96dpi 上运行的 Qt 应用程序 不幸的是 Qt 框架尚不支持高 dpi 至少在 Windows 上 因此我的应用程序及其所有元素看起来只有应有尺寸的一半 有没有办法
  • C#:如何防止主窗体过早显示

    在我的 main 方法中 我像往常一样启动主窗体 Application EnableVisualStyles Application SetCompatibleTextRenderingDefault false Application
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • C++ 复制初始化和直接初始化,奇怪的情况

    在继续阅读本文之前 请阅读在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a difference in c between copy i
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • CentOS7安装MySQL8.0详细教程

    这个是我和我结合网上其他一些朋友的操作来做的 1 下载 MySQL 所需要的安装包 网址 https dev mysql com downloads mysql 2 Select Operating System 选择 Red Hat Ce
  • QT学习之四:Linux 下 Qt Creator 的一个Qt 项目全过程

    Linux 下 Qt Creator 的一个Qt项目全过程 1 启动桌面上的 Qt Creator 新建工程 HelloWorld 点击 File gt New File orProject 如下图所示 2 新建类 Hello 右键单击项目
  • Three.js中光线投射Raycaster的简单使用案例 与模型的交互,当鼠标移动到模型时出现信息框

    无用的话 本人是编程小白 想创建一个氛围好的技术交流群 喜欢技术分享 技术指导 技术交流的朋友可以进Q群 732515998 大家一起快乐编程 想发公告的就不要进来了 目录 说明 创建两个模型 基础代码 基础代码效果图如下 重点 创建光线投
  • Android webview加载网页

    webview尝试 一 在线加载网页 例百度 webview布局很简单xml如下
  • 快速椭圆检测代码调试记录

    代码环境 Windows11 vs2019 opencv3 3 1 Debugx64 一 代码注释 1 realpath PATH MAX basename 这几句是为了在Ubuntu中运行时 寻找路径用的 Ubuntu需要比较严格的路径
  • 人工智能AI工具汇总(AIGC ChatGPT时代个体崛起)

    Name Category Website Description 描述 AIGC时代 超级个体的崛起 小报童 https xiaobot net p SuperIndividual 介绍AIGC ChatGPT 使用技巧与搞钱方式 Mas
  • React学习(编程式导航)

    学习目标 提示 这里可以添加学习目标 1 编程式导航 编程式导航 提供了通过脚本代码实现页面跳转的功能 主要api函数包含在路由对象参数 history中 this props history push login 跳转到登录路径 保留访问
  • java 调用controller_java调用controller方法

    我们有一个路由StudentController 里面有一个方法count 如果要在另外一个GradeController中调用count 方法有2种方式 因为StudentController是一个class 不是接口 接口一般都是 Au
  • 用 plt 画折线图(将训练过程中的每个epoch 的准确率和损失用图的形式展示出来)

    代码 import matplotlib pyplot as plt epochs range 0 4 acc 2 1 2 3 1 4 5 loss 1 1 1 4 0 8 0 6 plt plot epochs acc color r l
  • python sklearn 梯度下降法_【机器学习】梯度下降法(Gradient descent)

    说明 以下内容为学习刘建平老师的博客所做的笔记 梯度下降 Gradient Descent 小结 www cnblogs com 因为个人比较喜欢知乎文章的编辑方式 就在这里边记笔记边学习 喜欢这个博客的朋友 可以去刘建平老师的博客foll
  • 使用google的免费GPU

    1 打开网页 输入Google colab 2 点击 修改 gt 笔记本设置 3 点击使用GPU 常用命令 print torch version print torch cuda is available
  • 1.centos7安装docker

    本文目录 1 docker 安装 1 安装步骤 2 安装是否成功校验 3 docker加速配置 4 hello world来袭 验证安装是否ok 2 卸载docker 3 卸载较旧版本docker 使用docker必备的三个官方网站 doc
  • 无线路由、AP、网桥之区别详解篇

    通过无线上网冲浪 现在已经不是新鲜的事情 随着近一两年无线 网络的飞速发展 从企业到家庭都开始在不同的领域体验着 自由上网 的乐趣 笔者接触无线网络也有一段时间了 经常在一些无线论坛逛游 无论是在现实生活还是在论坛中 总会有朋友不断的问这样
  • HyperLedger Fabric 实践错误收集

    HyperLedger Fabric 实践错误收集 在ubuntu中通过docker compose启动容器的时候报错 ERROR for cli Cannot create container for service cli Confli
  • 光模块之SR、LRM、LR、ER 、ZR对比介绍

    SFP介绍 现有的ARUBA 原来的HP 万兆模块有多种 除了MMF表示多模SMF表示单模 SR LRM LR ER等都代表什么意思 本文做个简单对比介绍 将帮助您根据您的实际需要选择合适的10G SFP 模块 Aruba 10G SFP
  • 英语软件的日志怎么写

    今天一个外企个小伙伴跑来跟我说 老板说他的程序里的英语写的太烂 让我教他怎么写日志 虽然我自己用英语写log 也还马马虎虎 但是让我系统的介绍 我也犯了难 好在 我做过自然语言处理 NLP 也做过针对计算机系统的日志的挖掘 所以我知道有个东
  • Lua脚本在redis中的使用学习

    Lua脚本在redis中的使用学习 0 前言 不同于之前遇到的redisTemplate的简单set get方法 这里是使用Redis脚本执行redis操作 DefaultRedisScript
  • Linux宝塔面板 网址忘记了,或者账号密码错误怎么办?

    在linux中安装宝塔面板后会生成网址 账号和密码 如果网址忘记了那将进不去宝塔面板 bt 命令 输入bt后 在输入14就可以查看宝塔面板详细信息 root localhost bt 宝塔面板命令行 1 重启面板服务 8 改面板端口 2 停
  • struts2-输入校验、xml校验的使用

    1 输入校验 直接在Action类里添加相应的方法 这里定义了一个中间变量 前面我直接返回SUCCESS ERROR会报错 具体我还要研究一下 struts xml login jsp 2 xml校验 在XXAction的同级目录下 建立X
  • Qt Desginer布局方法

    关于Qt Desginer中的布局方法 网上教程少之又少 个人经过反复的实践和摸索 觉得可以用一句话来概括 先不断地进行小布局 然后对整体进行大布局 先不断地进行小布局的目的就是将同为一组的控件按某个格式排列使界面干净有序 同时方便以后对整