PyQt5 Qt Designer (Qt设计师)
PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发.
Qt是强大的GUI库之一, 用C++开发, 并且跨平台.
PyQt双许可证, 要么选择GPL(自由软件协议)将代码开源, 要么选择商业许可交商业许可费.
PySide拥有LGPL 2.1授权许可, 可开发 免费开源软件 和 私有商业软件. 把PyQt5代码切换到PySide2代码是相当容易的, 这也是为什么选择学习PyQt5的原因
准备工作
安装PyQt5:pip install pyqt5
安装Qt工具: pip install pyqt5-tools
配置Qt工具系统环境变量: Path=C:CodePython_Virpython1Libsite-packagespyqt5_tools
Qt Designer (Qt设计师)
强大的可视化GUI设计工具, 帮助我们快速开发PyQt.
它生成UI界面为.ui文件, 通过命令将.ui转为.py文件.
1.启动Qt Designer
执行命令designer, 便会弹出以下界面
最常用的就是创建 Widget(通用窗口) 和 MainWindow(主窗口), 这里我们创建一个 MainWindow.
下面简单介绍下主要功能:
文件保存为xxx.ui文件, 可以用文本及编辑打开编辑, 其数据是XML格式的.
2.将xxx.ui文件转为xxx.py文件
通过以下命令行执行, 即可生成 designer_demo.py 文件
pyuic5 -o designer_demo.py designer_demo.ui
3.运行布局文件
导入并继承它
from designer_demo import Ui_MainWindow
class MyDesiger(QMainWindow, Ui_MainWindow):
编写以下代码, 放在designer_demo.py同文件夹下, 运行即可
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
from designer_demo import Ui_MainWindow
class MyDesiger(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyDesiger, self).__init__(parent)
self.setupUi(self)
if __name__ == "__main__":
app = QApplication(sys.argv)
ui = MyDesiger()
ui.show()
sys.exit(app.exec_())
控件箱简介
Layouts 布局 (选中控件 -> Lay out(右键) -> 选择布局)
Vertical Layout: 垂直布局
Horizontal Layout: 水平布局
Grid Layout: 网格布局 (划分为 行 和 列)
Form Layout: 表单布局 (左列标签, 右列控件)
Containers 容器
Group Box
Scroll Area
Tool Box
Tab Widge
Stacked Widget
Frame: 帧容器, 可放入布局 / 控件等
Widget: 窗口容器
MDI Area
Dock Widget
Item Widgets 条目控件
List Widget: 列表条目
Tree Widget: 树形条目
Table Widget: 标签页条目
Spacers 间隔(透明)
Horizontal Spacer: 水平间隔
Vertical Spacer: 垂直间隔
Buttons 按钮
Push Button: 按钮
Tool Button: 工具箱按钮 (…)
Radio Button: 单选框
Check Box: 多选框
Command Link Button:
Dialog Button Box: Dialog 按钮 (ok | cancel)