# 高效绘制用户界面
## 概要
刚一开始使用Qt,大家基本上都是直接在代码里设置控件类,大小,位置。这样虽然繁琐,但是更可以让大家熟悉各
个控件的属性和方法。为了高效的绘制界面,这里介绍一种使用QtDesigner结合PySide的编程方法。主要分为三个步骤:
1. 打开QtDesigner绘制窗口;
2. 将UI文件转换为py文件供主程序调用;
3. 主窗口全局初始化。
## 1.绘制窗口
使用过C++版本Qt的老玩家(用户)都知道,QtDesigner是一个非常好用的窗口绘制工具。我们使用PySide编程,难道还需要
安装Qt?答案是不用。Qt团队在PySide的安装包里已经为我们准备好了QtDesigner。
找到你的python安装目录,打开Python\Lib\site-packages\PySide2\designer.exe,这便是QtDesigner。为了打开方便,
你可以设置快捷方式。作者使用PyCharm编程,直接将该程序添加到了工具里。界面如下图:
![QtDesigner](../Addition/QtDesigner.png)
## 2.文件转换
打开QtDesigner后,新建一个空白的主窗口文件,按照Lesson_1显示的窗口的样子放置一个Label和一个pushButton,
并设置好大小等属性,保存在当前工程目录下。
![Design](../Addition/Lesson2Design.png)
然后打开命令行,切换工作路径到当前工程目录下,输入:
```bash
pyside2-uic [你保存的文件名].ui > ui_mainwindow.py
```
注意文件名,可以修改,但切记与后面主文件调用的文件名要一致。毕竟很多人写代码只用三个键。此时,你可以打开生
成的py文件查看,很详细的记录了窗口的各种属性。
```
# 生成.py文件中部分关键代码
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
```
## 3.调用显示窗口
首先,把生成的py文件中的窗口类import进来,把QMainWindow类也import进来。然后定义主窗口,代码如下;
```
# 从生成的.py文件导入定义的窗口类
from ui_mainwindow import Ui_MainWindow
# 定义主窗体
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
```
代码很简单,切记文件名和类名要对应。其他简单的功能实现部分相差不多,具体请参照main.py。
到此,使用PySide创建用户界面的基本流程你都学会了。但是你会发现,这样生成的窗口很不美观,并且拖动大小后,
内部控件没有变化,和Lesson_1显示截然的不同,显得很不自然。想要更好的设置界面,请看下一课。
* [第三课](../Lesson_3.使用布局管理/README.md)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
简介 Qt是一种强大的图形用户界面构造工具,现在它对于Python也有很好的接口支持,分别是PyQt和PySide。PyQt采用需购买版权的商业及GPL许可,而PySide采用无需购买版权的LGPL许可。 PySide与PyQt有非常兼容的API,因此无需版权的PySide更适合广大Python爱好者的学习。PySide2支持Qt5框架,兼容Python2.7以上版本以及Python3.5以上版本。本教程以PySide2为例,如何从显示一个简单的hello world窗口到设置井然有序窗口布局。在作者时间有限,此教程只指出如何入门并高效使用Qt,至于每个控件如何使用,各位爱好者自己学习吧,网络
资源详情
资源评论
资源推荐
收起资源包目录
pyside2-master.zip (44个子文件)
pyside2-master
Lesson_10.AutoSizeImage
main.py 9KB
readme.md 2KB
.gitignore 125B
Lesson_8.窗口嵌套
subwindow.py 5KB
readme.md 2KB
Lesson_3.使用布局管理
README.md 2KB
ui_mainwindow.py 3KB
main.py 884B
mainwindow.ui 2KB
Lesson_7.主窗口的构成
struct.py 3KB
readme.md 929B
README.md 1017B
Lesson_9.EzQtTools
main.py 3KB
readme.md 2KB
Lesson_5.结合OpenCV实现视频播放器
README.md 2KB
ui_mainwindow.py 4KB
main.py 9KB
mainwindow.ui 3KB
Lesson_2.使用QtDesigner
README.md 3KB
ui_mainwindow.py 1KB
main.py 1KB
mainwindow.ui 1KB
Lesson_6.另一种槽连接机制
Slot.py 2KB
readme.md 2KB
Lesson_11.MultimediaPlayer
main.py 8KB
readme.md 1KB
icon.png 1KB
Lesson_1.环境配置与入门
README.md 1KB
helloworld.py 2KB
Lesson_4.使用QSS美化界面
README.md 2KB
helloworld.qss 237B
ui_mainwindow.py 3KB
main.py 995B
Addition
QtDesigner.png 136KB
mainwindow_dock.png 18KB
Layout.png 9KB
Lesson1.png 4KB
Lesson2Design.png 47KB
V_layout_self.png 17KB
SizePolicy.png 26KB
Layout_Size11.png 9KB
mainwindow.png 14KB
Object_window.png 10KB
EzQtTools.py 7KB
共 44 条
- 1
梦小露
- 粉丝: 25
- 资源: 4640
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1