PyQt Qt Designer工具的布局管理详解


Posted in Python onAugust 07, 2019

前言

这节课很重要。。界面整洁美观与否就看布局了。。这里讲布局方法,至于设计的天赋与最终界面的美感那就看造化了。。

本文主要讲述Qt Designer工具实现界面控件布局管理,就是排列组合控件。包括水平布局、垂直布局、网格布局、表单布局。至于绝对布局太复杂。。短期内hold不住

布局管理打开方法

方法一:Qt Designer -> Form菜单栏

PyQt Qt Designer工具的布局管理详解

方法二:右键单击主窗口 -> Lay out

PyQt Qt Designer工具的布局管理详解

四种布局管理介绍

(1)水平布局 Lay Out Horizontally:被选中的控件在水平方向上从左到右排列。杂乱无章的四个控件水平布局后效果如下:

PyQt Qt Designer工具的布局管理详解

(2)垂直布局 Lay Out Vertically:被选中的控件在垂直方向上依次排列。杂乱无章的四个控件垂直排列后效果如下:

PyQt Qt Designer工具的布局管理详解

(3)表单布局Lay Out in a Form:控件以2列的形式布局在表单中。左列包含标签(label),右列包含输入控件。 用户名和密码相关的四个控件组合表单布局。

PyQt Qt Designer工具的布局管理详解

(4)网格布局 Lay Out in a Grid:网格布局是将窗口分隔成行和列的网格来进行排列。被选中组合的控件以网格的形式排列。参考如下。。好像也不美观。

PyQt Qt Designer工具的布局管理详解

嵌套布局

界面控件类型简单可以考虑采用上述四种布局方式进行单一布局。但是控件类型多样化的话就要考虑布局的嵌套了。就是分析控件的特点,采用不同布局方式组合控件。

如下主窗口中用户名+密码的标签+单行输入框控件组合使用表单布局,然后与登录+退出控件使用垂直布局,最后与显示文本框采用网格布局。具体效果如下

PyQt Qt Designer工具的布局管理详解

注意:组合控件使用的布局如果需要打破布局,可以通过选择组合的控件,然后单击菜单Form -> Break Layout方式进行打破布局。实际上使用撤销也可以。

PyQt Qt Designer工具的布局管理详解

绝对布局管理

某些时候采用布局管理工具完成的界面设置并不满足你的要求,可以考虑修改控件geometry属性相对坐标及长、框的方式进行对齐。geometry属性在PyQt中主要用来设置控件在窗口中的绝对坐标与控件自身的大小。如下图所示。对于包含控件类型及个数不多的界面可以考虑采用这种方式。

PyQt Qt Designer工具的布局管理详解

下面针对这几个控件的对齐简单描述一下。

PyQt Qt Designer工具的布局管理详解

第一行中"获取整数"按钮与"lineEdit"两个控件对齐:控件Y轴数值、Height长度值保持一致。控件间隔通过计算获取。这里两个控件间隔为150-80-50=30

PyQt Qt Designer工具的布局管理详解

第一列"获取整数"和"获取字符串"控件对齐:保持X轴数值、Width数值一致。列间间距为80-31-30=19。这样"获取列表选项"控件也以间距19保持即可。

是不是很简单?如果觉得布局管理出来效果不好,就动手尝试一下这种方法把。。

其他布局管理

1、采用绝对布局的方式进行控件布局。但是这种上手难度比较大,后面在实践过程中遇到有好的方法可以针对Qt界面布局管理后的效果进行优化的再补充介绍。

2、修改控件属性。通过修改控件的属性,比如最小尺寸、最大尺寸、长、宽、字体等等。比如我想针对小工具的需求我会经常使用固定最小尺寸、最大尺寸保持一致的方式,使主窗口及控件不受拉伸影响。

小结

本文针对Qt Designer布局管理中的水平布局、垂直布局、网格布局以及表单布局的最最基本的使用方法和布局效果进行了基本介绍。内容都很简单,看完也很容易自己动手实践一下。当然还有很多其他辅助的方式(比如添加水平线、垂直线等)可以帮助完成界面更合理的布局,这个需要后面再进行探索。。有新的理解或者内容后续再更新本文。期望自己可以布局一个还能过的去的界面。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
在Python中移动目录结构的方法
Jan 31 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 Python
python根据时间获取周数代码实例
Sep 30 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
Python reversed函数及使用方法解析
Mar 17 Python
pycharm安装及如何导入numpy
Apr 03 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 Python
浅谈Python 钉钉报警必备知识系统讲解
Aug 17 Python
pycharm专业版远程登录服务器的详细教程
Sep 15 Python
pandas中DataFrame重置索引的几种方法
May 24 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 #Python
python利用7z批量解压rar的实现
Aug 07 #Python
django基础学习之send_mail功能
Aug 07 #Python
python实现本地批量ping多个IP的方法示例
Aug 07 #Python
Django model 中设置联合约束和联合索引的方法
Aug 06 #Python
对django 模型 unique together的示例讲解
Aug 06 #Python
python django model联合主键的例子
Aug 06 #Python
You might like
深入分析PHP引用(&)
2014/09/04 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
jQuery 使用手册(六)
2009/09/23 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
Python中删除文件的程序代码
2011/03/13 Python
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
计算机软件个人的自荐信范文
2013/12/01 职场文书
上班睡觉检讨书
2014/01/09 职场文书
运动会广播稿100字
2014/09/14 职场文书
获奖感言范文
2015/07/31 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android