Qt Designer UI设计布局小结

2023-10-27

前言

本文总结了在开发Qt应用程序时使用 Designer 进行UI布局的一些心得体会。Qt Designer是Qt提供的一个可视化界面设计工具,旨在帮助开发人员快速创建和布局用户界面。它提供了丰富的布局管理器和控件,并支持直观的拖拽和放置操作,使得UI设计变得简单而高效。下面将按照几个不同的布局场景来说明。

1 居中布局

居中布局的需求在开发中还是比较常见的,比如弹窗提示页面、登录页面、动画加载页面等。下面以一个简单的登录页面为例,介绍如何设置居中布局,登录页面如下图所示:
在这里插入图片描述
要实现上图中的布局效果,首先在Designer中将组成页面必须的组件拖动到工作区,按照上图的位置放置好,然后再拖拽两个水平方向的spacer和两个垂直方向的spacer到工作区中,按照下图所示的位置放好
在这里插入图片描述

然后选中整个表单点击工具栏中的栅格布局按钮进行布局,即可实现将登录页面所有元素居中的效果,当鼠标拖动改变窗口大小之后组件任然居中。
在这里插入图片描述

2 左右布局

以下图的页面布局为例说一下如何对左右结构的页面进行布局。下图左边是一个树形控件,右边是一个分页组件,当用户点击树形控件的节点时右侧的页面会根据选择的节点来更新页面显示数据。
在这里插入图片描述
接下来在Designer中实现上述页面的布局,拖找一个QTreeWidget控件和一个QTabWidget控件到工作区,然后在Designer页面最右侧的对象表中选择根节点,点击栅格布局。这时会发现QTreeWidget控件、QTabWidget控件在页面中是左右均分的效果。假设将页面水平分为3份,QTreeWidget占1/3,QTabWidget占2/3,该如何设置这个参数呢?选中对象树的根节点,将属性面板滑动到底部,可以看到Layout部分的属性,其中layoutColumnStretch属性就是负责页面水平尺寸分配的,把这个值设置为1,2即可实现页面水平方向1:2的结构划分。当然了,知道这个特性之后,可根据实际设计需要将其设置成任何可能的值。如下图所示。
在这里插入图片描述
左右结构的页面还可以直接使用水平布局(Horizotal Layout )来实现,组件水平方向的占比是设置layoutStretch属性实现。除此之外还可以把一部分页面的宽度设置为固定值,其他部分可以根据窗口宽度缩放。

3 上下布局

介绍完左右结构的页面布局之后,再来介绍上下结构的页面布局就比较容易了。在左右结构的页面布局中layoutColumnStretch属性负责页面水平尺寸分配的,而在上下结构的页面布局中layoutRowStretch属性负责垂直分配控件所占尺寸。下面是一个简单的示例
在这里插入图片描述

在上图所示的页面中,将layoutRowStretch设置为 【0,0,1,0】,即当页面高度变化时除了“基本信息”输入框部分的高度会随页面改变外,其他部分的高度保持不变。
当然,这里也可以使用垂直布局 (Vertical Layout )来实现,组件垂直方向的占比也是设置layoutStretch属性实现的。除此之外还可以把一部分页面的高度设置为固定值,让其他部分可以根据窗口高度缩放。

4 复杂页面布局

在复杂的用户界面中,通常需要嵌套多个布局管理器来实现更复杂的布局。可以将一个布局管理器放置在另一个布局管理器中,以实现嵌套布局。先根据经验将页面划分为多个部分,然后对每个部分分别进行居中布局、左右布局、上下布局。最终通过调节水平、垂直尺寸分配参数使页面满足设计要求。这里就不给具体示例了。

总结

Qt Designer提供了强大而直观的界面设计工具,使得UI布局变得简单而高效。通过合理使用布局管理器、调整布局属性和嵌套布局,可以创建出具有良好外观和灵活布局的用户界面。本文以居中布局、左右布局、上下布局、复杂页面布局为核心总结了在使用Qt Designer设计程序界面时的一些知识,熟练掌握这些技巧可以快速搭建满足用户需求的UI。以上就是本文的所有内容了,有任何疑问欢迎留言讨论。

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

Qt Designer UI设计布局小结 的相关文章

随机推荐

  • 用 flex 和 瀑布流 解决高度不同的元素浮动导致页面混乱问题

    当元素的高度各不相同并且设置了浮动 页面展示如下 flex布局 瀑布流布局 瀑布流动态加载图片 flex布局 红框所画图片在第一行放不下 属于第二行的元素 但是由于浮动的特性 导致它出现在了这个位置 如果想让它另起一行顶头展示 可以使用fl
  • 1.3 Linux文件系统

    一 Linux文件系统结构 Linux下都是文件 所以没有Windows一样的盘 有的只有文件夹 cd 进入根目录 ls 查看根目录 下的文件及文件夹 bin 存储了很多系统命令 usr sbin 也存储了许多系统命令 sbin 超级用户
  • MODBUS协议中的CRC校验

    一 RTU 檢查碼 CRC 計算器 第一种 RTU 檢查碼 CRC 計算器 大小端转换后 CRC检查码为 AB 89 说明 这个计算器还是可以用的 第二种 On line CRC calculation and free library 二
  • odoo.service.server: Thread <Thread(odoo.service.cron.cron0, started daemon 139767179863808)> virtua

    这个日志消息表示在 Odoo 服务器的某个线程中达到了虚拟实时限制 具体来说 这是在执行某个任务时 线程使用了超过允许的时间限制 日志中的详细信息包括 时间戳 2023 09 03 14 24 55 333 19479 警告级别 WARNI
  • spring mvc踩坑 - jackson解析框架返回json多一层双引号

    问题 两套业务逻辑代码相同 但返回的数据不同 导致相同的前端代码用eval解析时出错 其中一个多了一层双引号 分别为 aaa 1 aaa 1 服务端代码 RequestMapping method RequestMethod POST pa
  • sqli labs less 21

    这题与less 20 相似 只不过cookie需要经过base64 编码之后才能注入 这一题就是比较麻烦其他没啥 还有就是 闭合语句 admin2 union select 1 2 3 base64编码为 YWRtaW4yJykgdW5pb
  • 单向循环链表(如何实现约瑟夫环)

    约瑟夫问题 总共有n个人排成一圈 从某个人开始 按顺时针方向依次编号 从编号为1的人开始顺时针报数1 下一个报号2 报到m的人退出圈子然后重新从1开始顺时针报数 这样不断循环下去 圈子里的人将不断减少 要求全部人员输出退出顺序 includ
  • chatGPT对企业的发展有什么影响

    ChatGPT目前正在全世界范围内掀起风暴 成为炙手可热的一个名词 作为基于人工智能的工具的最新产品 目前ChatGPT呈现给我们的似乎只是足够有趣 且从目前已知的信息来看 它似乎还没有任何商业运作相关的计划 大多应用聚焦在其可以撰写论文
  • Unity进阶–通过PhotonServer实现人物移动和攻击–PhotonServer(五)

    文章目录 Unity进阶 通过PhotonServer实现人物移动和攻击 PhotonServer 五 DLc 消息类和通信类 服务器 客户端 Unity进阶 通过PhotonServer实现人物移动和攻击 PhotonServer 五 D
  • CTF-PWN-buuctf-others_shellcode-系统int80调用的使用方法

    CTF PWN 来源 https buuoj cn challenges 内容 附件 https pan baidu com s 1twNiCnqBL17 WuQr1NdGBQ pwd g9by 提取码 g9by 答案 flag d07d7
  • CSS属性详解——使用color属性设置文字颜色

    CSS 是一种用于网页布局控制的语言 其中 color 属性用于为网页文字设置颜色 在本文中 我们将深入介绍 color 属性的详细语法和使用方式 帮助您轻松掌握使用 color 属性语法 color 属性用于为文本设置颜色 其语法非常简单
  • Tensorflow④——常用TensorFlow 学习率函数、激活函数、损失函数API及代码实现

    import os os environ TF CPP MIN LOG LEVEL 2 导入所需模块 import tensorflow as tf from sklearn import datasets from matplotlib
  • PTA L3 题目合集(暂不更新)

    L3 001 凑零钱 30 分 01背包问题记录路径 include
  • 第三周 任务2.1 C#猜数字

    程序头部注释开始 程序的版权和版本声明部分 Copyright c 2011 烟台大学计算机学院学生 All rights reserved 文件名称 C 猜数字 作 者 薛广晨 完成日期 2011 年 09 月 11 日 版 本号 x1
  • 一文理解GPT及向ChatGPT提问的技巧

    一 什么是ChatGPT 人工智能已成为当今科技领域的一大热门话题 随着深度学习的快速发展 OpenAI团队在其GPT Generative Pre trained Transformer 模型的基础上 推出了ChatGPT 这是一种革命性
  • 红芯丑闻揭秘者 Touko 专访

    专栏 九章算法 网址 www jiuzhang com 红芯事件 近日 一则 自主研发的国产浏览器内核 红芯宣布获2 5亿C轮融资 的讯息再次将 国产自主创新 这一话题推向高潮 希冀之声群起 然好景不长 网友Touko在将红芯浏览器的exe
  • 专业修图软件 Affinity Photo mac中文功能

    Affinity Photo for mac是应用在MacOS上的专业修图软件 支持多种文件格式 包括psD PDF SVG Eps TIFF JPEG等 Affinity Photo提供了许多高级图像编辑功能 如无限制的图层 非破坏性操作
  • (六)IDEA新建工程——从0开始大数据开发实战:电影推荐系统(scala版)

    打开IntelliJ IDEA 选择菜单 File gt New gt Project 打开一个新建项目对话框 如下图所示 本教程使用Maven对Scala程序进行编译打包 所以 请点击左侧的 Maven 右侧 Create from ar
  • 英特尔cpu发布时间表_英特尔CPU路线曝光,碾压AMD和Arm就在4年后?

    来源 内容由半导体行业观察 ID icbank 编译自 Adoredtv 谢谢 我们最近不仅收到了英特尔的内部客户端CPU路线图 我们还收到了内部服务器路线图 一直延伸到2024年的roadmap 在我开始分享这个路线图的细节之前 我必须澄
  • Qt Designer UI设计布局小结

    目录 前言 1 居中布局 2 左右布局 3 上下布局 4 复杂页面布局 总结 前言 本文总结了在开发Qt应用程序时使用 Designer 进行UI布局的一些心得体会 Qt Designer是Qt提供的一个可视化界面设计工具 旨在帮助开发人员