pyqt入门
第一次接触pyqt是在20年刚毕业的时候,时隔两年,恰逢闲暇,正好回过头来对这个模块的知识进行一个整理,不会做系统化的整理,我打算可能会围绕之前做过的小工具对其涉及到的控件、信号和槽等知识进行简单的回忆。后面工作如果再涉及或者想到其他的,会再回来更新完善。
pyqt5:同前面整理的kivy一样,同属于GUI开发框架的范畴,不同的是,pyqt用于桌面应用程序的开发(还有pyqt6,tkinter(python标准库自带的)有兴趣还可以注意一下)
本篇主要安装一下三方库和三方工具(Qtdesigner,纯手写布局的话可以不用他)等
1、安装三方库、设计器
2、pycharm配置(不需要设计器就可以不配置,pyuic是将设计器生成的.ui文件转换成.py文件)
还有一个pyrcc工具是将资源文件(图片等).qrc转换成.py文件,具体配置可以自行百度
3、要点总结
3.1、窗口
QWidget(通用窗口,所有控件的基类)
QMainwindow(主窗口,带有菜单栏、工具栏、状态栏的主窗口,用于GUI开发时最常用的窗口)
QDialog(对话框窗口)
3.2、布局
线性布局:
水平布局
垂直布局
网格布局
表单布局
3.3、常用控件
文本类控件:
标签
单行文本
多行文本
整数数字选择框
小数数字选择框
按钮类控件:
Pushbutton
toolbutton
Radiobutton
Checkbutton
列表类控件:
ComboBox
listwidget
容器类控件:
GroupBox
Tabwidget
toolBox
CommandlinkBox
3.4、高级控件
TreeView、TableView、TreeWidget、TableWidget
Frame
SpaceItem
3.5、对话框
消息对话框
文件对话框
输入对话框
字体、颜色对话框
3.6、事件驱动
传递event参数
3.7、信号和槽
3.8、M/V结构
4、窥探
1 import sys 2 from PyQt5.QtWidgets import * 3 4 5 class TestUi(QMainWindow): 6 def __init__(self): 7 super(TestUi, self).__init__() 8 self.init_widget() 9 10 def init_widget(self): 11 self.setFixedSize(500, 300) 12 self.setWindowTitle("测试") 13 # self.layout = QVBoxLayout() 14 self.main_widget = QWidget() 15 self.main_layout = QHBoxLayout() 16 # self.main_widget.setFixedSize(200, 200) 17 self.main_widget.setLayout(self.main_layout) 18 self.queding = QPushButton("确定") 19 self.chaxun = QPushButton("查询") 20 self.setCentralWidget(self.main_widget) 21 self.main_layout.addWidget(self.queding) 22 self.main_layout.addWidget(self.chaxun) 23 24 25 if __name__ == "__main__": 26 app = QApplication(sys.argv) 27 ui = TestUi() 28 ui.show() 29 sys.exit(app.exec_())
运行界面显示: