Pyqt5之QtDesigner
开始之前介绍几个概念
1 背景介绍
1.1 什么是Qt
使用C++语言编写的跨平台GUI库,支持Windows、Mac OS X和Linux。由于Qt使用C++语言编写,所以使用Qt开发的GUI程序的界面风格与当前操作系统完全相同,而且运行效率很高。
GUI:带图形用户接口的程序,也就是我们经常说的桌面应用。
1.2 Qt的历史
Qt是挪威的一家名为Trolltech(奇趣科技)的公司开发的一个C++ GUI工具集,其中包括跨平台类库、集成开发工具和跨平台IDE,既可以用于开发GUI程序,也可以用于开发非GUI程序。使用Qt开发的代码只需要在不同的操作系统平台上重新编译,就可以在该平台上运行。也就是说,用Qt开发的程序的跨平台模式是源代码级的。
2008年6月,Trolltech公司被Nokia(诺基亚)收购,2012年8月,芬兰的Digia公司从Nokia收购了Qt业务。
1.3什么是PyQt
PyQt是一个用于创建GUI应用程序的跨平台工具包,它将Python与Qt库融为一体。也就是说,PyQt允许使用Python语言调用Qt库中的API。这样做的最大好处就是在保留了Qt高运行效率的同时,大大提高了开发效率。因为,使用Python语言开发程序要比使用C++语言开发程序快得多。PyQt对Qt做了完整的封装,几乎可以用PyQt做Qt能做的任何事情。
由于目前最新的PyQt版本是5.11,所以习惯上成为PyQt为PyQt5。
pyqt5里面包含了很多类库,QtDesigner是一个开发开发工具库,用来加速开发,实现UI功能设计和底层代码实现的分离,
2 QtDesigner界面介绍
菜单栏和工具栏就不介绍了,QtDesigner工具界面主要分为5个区域,当然区域可以自己排版,如图
左边是控件区,主要是往窗口添加的各种控件,中间是窗口编辑区,右边是编辑窗口口的对象树结构
右中是控件对象属性编辑查看和编辑区,最后一部分是用来管理动作和资源等的公共区域.
3 QtDesigner的基本使用
3.1 创建两个标签和两个文本框,保存为demo.ui
3.2 使用uic工具将.ui文件转为.py文件
这里可以使用自动方式和命令行两种方式,前一篇文章里已经介绍,就不赘述.
转换后的.py文件里面的类都是一样的,可以理解为是一个标准的接口,代码开发时引入名一致
3.3 .py文件官方引入格式
如果要替换一个ui方案,直接替换模块就可以了,很方便,另外不要更改转换后的.py文件,防止重新修改ui.
from demo import Ui_MainWindow
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
class AppGui(QMainWindow, Ui_MainWindow):
def __init__(self):
super(AppGui, self).__init__()
self.setupUi(self)
if __name__ == '__main__':
# 创建应用程序
app = QApplication(sys.argv)
# 在应用程序里创建窗口
ui = AppGui()
# 显示窗口
ui.show()
# 进入程序的主循环、并通过exit函数确保主循环安全结束
sys.exit(app.exec_())