PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发.
Qt是强大的GUI库之一, 用C++开发, 并且跨平台.
PyQt双许可证, 要么选择GPL(自由软件协议)将代码开源, 要么选择商业许可交商业许可费.
PySide拥有LGPL 2.1授权许可, 可开发 免费开源软件 和 私有商业软件. 把PyQt5代码切换到PySide2代码是相当容易的, 这也是为什么选择学习PyQt5的原因
准备工作
强大的可视化GUI设计工具, 帮助我们快速开发PyQt.
它生成UI界面为.ui文件, 通过命令将.ui转为.py文件.
执行命令designer, 便会弹出以下界面
最常用的就是创建 Widget(通用窗口) 和 MainWindow(主窗口), 这里我们创建一个 MainWindow.
下面简单介绍下主要功能:
文件保存为xxx.ui文件, 可以用文本及编辑打开编辑, 其数据是XML格式的.
通过以下命令行执行, 即可生成 designer_demo.py 文件
pyuic5 -o designer_demo.py designer_demo.ui
导入并继承它
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(右键) -> 选择布局)
Containers 容器
Item Widgets 条目控件
Spacers 间隔(透明)
Buttons 按钮
Input Widgets 输入控件
Display Widgets 显示控件
objectName: 控件对象名
geometry: 相对坐标(px) x,y,width,height
sizePolicy: 控件大小策略
minimumSize: 最小尺寸
maximumSize: 最大尺寸 (固定尺寸: minimumSize=maximumSize)
font: 字体
cursor: 光标
windowTitle: 窗口标题
WindowsIcon: 窗口图标
iconSize: 图标大小
toolTip: 提示泡提示信息
statusTip: 状态栏提示信息
text: 控件文本
shortcut: 快捷键
horizontalSpacer: 水平间距
PyQt5处理事件有个signal and slot机制, 事件触发产生信号(signal), 当信号发送(emit())时, 连接的槽(slot)便会执行.
信号与槽的连接
sender.signal.connect(receiver.slot) # 例子 btn.clicked.connect(self.buttonClicked)
按F4选择 Edit Signal/Slot 模式 -> 鼠标按住控件1拖拽到控件2上松开 -> 弹出对话框, 选择两边连接事件 -> ok -> 按F3切换回 Edit Widgets 模式
演示:
菜单栏通过双击 Type Here 添加一级菜单(File), 点开一级菜单双击 Type Here 添加动作(New File), 若点了后面的+, 并添加动作(Text File), 则动作(New File)将变成子菜单.
并且我们可以在 动作编辑器 里修改 菜单里的动作
把Label控件拖到窗口上 -> 属性设置pixmap
3.编译成可执行代码
除了需要把.ui文件转成.py文件外, 还需要把.qrc文件转成.py文件
pyrcc5 app.qrc -o app.py
代码处理
import app self.label.setPixmap(QtGui.QPixmap(":/pic/designer1.png"))
本文简单介绍了PyQt5 Qt Designer (Qt设计师)的使用方法,更多关于PyQt5 Qt Designer (Qt设计师)的使用方法请查看下面的相关链接
本文向大家介绍python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例,包括了python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例的使用技巧和注意事项,需要的朋友参考一下 PyQt5工具栏控件QToolBar介绍 QToolBar控件是由文本按钮,图标或其他小控件按钮组成的可移动面板,通常位于菜单栏下方 QToolBar类
本文向大家介绍python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法,包括了python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法的使用技巧和注意事项,需要的朋友参考一下 QWidget基本介绍 基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类。 窗口坐标系统 PyQt使用统一的坐标系
本文向大家介绍python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性,包括了python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性的使用技巧和注意事项,需要的朋友参考一下 QTableWidget介绍 QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid。QTableWidget是Q
本文向大家介绍python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例,包括了python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例的使用技巧和注意事项,需要的朋友参考一下 PyQt5多行文本框控件QTextEdit简介 QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显
本文向大家介绍python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法,包括了python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法的使用技巧和注意事项,需要的朋友参考一下 QMainWindow QMainWindow类中比较重要的方法 方法 描述 addToolBar() 添加工具栏 centralWidge() 返回窗口中心的一个
本文向大家介绍python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例,包括了python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例的使用技巧和注意事项,需要的朋友参考一下 QTimer控件介绍 如果在应用程序中周期性地进行某项操作,比如周期性的检测主机的cpu值,则需要用到QTimer定时器,QTimer类提供了重复和单次的定时器,要使用