Python GUI教程(六):使用Qt设计师进行窗口布局
本篇介绍使用qt设计师进行GUI窗口的布局管理,主要包含以下内容:
- 使用Qt设计师布局我们的窗口部件;
- 垂直布局;
- 水平布局;
- 网格布局;
- 使用间隔;
- 使用“伙伴”将label标签与窗口部件进行连接。
下面开始!
在Qt中,我们可以直接从左侧的窗口部件栏中拖拽一个布局部件到GUI窗口中,然后再将具体的窗口部件拖拽到布局部件中,这样窗口部件就会自动进行相应方式的布局。
垂直布局
从左侧面板的“Layouts”栏中拖拽“Vertical Layout”到GUI窗口中,设置好布局大小,再在“Buttons”栏中拖拽3个“Push Button”到设置好大小的“Vertical Layout”中:

水平布局
从左侧面板的“Layouts”栏中拖拽“Horizontal Layout”到GUI窗口中,设置好布局大小,再在“Buttons”栏中拖拽3个“Push Button”到设置好大小的“Horizontal Layout”中:

使用水平布局、垂直布局的另一种方式
上面我们使用的是先设置一个布局部件,再将窗口部件放入布局部件之中布局方式。除此之外,我们还可以先在GUI窗口中放置窗口部件,框选需要进行布局的部件,再使用工具栏中的“水平布局”、“垂直布局”按钮对窗口部件进行布局管理:

网格布局
与垂直布局和水平布局一样,网格布局也可以使用上述的两种方法来对窗口部件进行布局管理:

除了对部件进行布局之外,我们还可以在网格中再进行嵌套布局:

容器布局
除了使用布局控件之外,我们还能使用容器进行粗略的布局,下面以groupBox容器作为演示:

使用“Spacer”间隔
我们在布局部件中放置的窗口部件都是等距离的,如果我们需要对其中某个部件的距离设置远一点呢,可以使用“Spacer”间隔部件。
“Spacer”部件分为两种:
- Horizontal Spacer:垂直间隔;
- Vertical Spacer:水平间隔。
间隔部件在左侧部件的“Spacer”栏中,下面我们演示一下:

为标签设置“伙伴”
Pyqt中有一个好用的基本功能就是“伙伴”部件,当用户键入标签的快捷键时,光标的焦点会出现在标签的伙伴上。例如:我们有一个用户名的标签和一个用户名的输入框,设置用户名标签与用户名输入框为“伙伴”,设置用户名标签的文本为"用户名(&2)",表示用户名标签的快捷键为Alt+2,如果我们按快捷键Alt+2,那么光标的输入符就会移动到用户名的输入框中。
qt设计师中,“伙伴”功能,在工具栏的“编辑伙伴”按钮中:

Python GUI教程(六):使用Qt设计师进行窗口布局的更多相关文章
- Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介
Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...
- PySide——Python图形化界面入门教程(六)
PySide——Python图形化界面入门教程(六) ——QListView和QStandardItemModel 翻译自:http://pythoncentral.io/pyside-pyqt-tu ...
- Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 二.Tkinter 是什么 三.Tkinter 控件详细介绍 1. T ...
- Python -- Gui编程 -- Qt库的使用 -- 配置资源文件
1.源文件(qtRes.py) import sys from PyQt4 import QtCore, QtGui, uic class MyDialog(QtGui.QDialog): def _ ...
- 史上最全的Python电子书教程资源下载(转)
网上搜集的,点击即可下载,希望提供给有需要的人^_^ O'Reilly.Python.And.XML.pdf 2.02 MB OReilly - Programming Python 2nd. ...
- python 入门教程
转载自:http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_beginner_tu ...
- 使用PyQt来编写第一个Python GUI程序
原文:使用PyQt来编写第一个Python GUI程序 本文由 伯乐在线 - Lane 翻译,Daetalus 校稿.未经许可,禁止转载!英文出处:pythonforengineers.com.欢迎加 ...
- 【分享】史上最全的Python电子书教程资源下载
网上搜集的,点击即可下载,希望提供给有需要的人^_^ O'Reilly.Python.And.XML.pdf 2.02 MB OReilly - Programming Python 2nd. ...
- python快速教程-vamei
2016年10月26日 12:00:53 今天开始着手python的学习,希望能高效快速的学完! Python基础(上)... 7 实验简介... 7 一.实验说明... 8 1. 环境登录... 8 ...
随机推荐
- shell提升篇
6. 条件判断 1.基本语法 [ condition ](注意condition前后要有空格) 注意:条件非空即为true,[ fsdm ]返回true,[] 返回false. 2. 常用判断条件 ( ...
- 【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)
[计算机网络]-介质访问子层-概述 介质访问控制子层功能 解决信道争用的协议,即用于多路访问信道上确定下一个使用者的协议 是数据链路层协议的一部分 介质访问控制子层位置 位于数据链路层的底部! 信道分 ...
- nginx配置ssi实现页面拆分
在做一个网站时,页面上会有很多重复的内容,每个页面写一遍很冗余,修改时还容易遗漏,所以可以把公共的部分写好,放在单独的HTML中,用时引用就行了. nginx配置ssi可以将单个页面拆分成一个一个的小 ...
- mysql行(记录)的详细的操作
目录 一 介绍 二 插入(增加)数据INSERT 三 更新(修改)数据UPDATE 四 删除数据DELETE 五 查询数据SELECT(重点) 六 权限管理 阅读目录 一 介绍 MySQL数据操作: ...
- vue运行碰到的问题
Expected indentation of 0 spaces but found 2 解决方案: 文件中加入"indent": ["off", 2]就可以了 ...
- Git复习(七)之自定义git、忽略特殊文件、配置文件
前言 config 配置有system级别(系统级别). global(用户级别).local(当前仓库)三个 设置先从system->global->local 底层配置会覆盖顶层配置 ...
- python之requests示例
一) import requests def download(url, num_tries=, user_agent='wswp', proxies=None): ''' 下载指定url并返回网页内 ...
- 微信小程序wx.showActionSheet调用客服信息功能
微信小程序wx.showActionSheet调用客服消息功能 官方文档的代码: wx.showActionSheet({ itemList: ['A', 'B', 'C'], success (re ...
- JDK1.8中LinkedList的实现原理及源码分析
详见:https://blog.csdn.net/cb_lcl/article/details/81222394 一.概述 LinkedList底层是基于双向链表(双向链表的特点, ...
- MySQL 5.7 免安装版 access denied 解决办法
MySQL 5.7 在Windows 下安装的过程很多人都写过了 但是安装完成后用 root 第一次登录时需要密码 可是我根本就没设密码嘛... 搞了半天最后终于搞定了 在执行 mysqld --in ...