前言:PyQt5介绍
PyQt是基于Digia公司强大的图形程序框架Qt的Python接口,由一组Python模块构成,它是一个创建GUI应用程序的工具包,由Phil Thompson开发。
PyQt5的基本类:
官方提供的帮助网址:https://www.riverbankcomputing.com/static/Docs/PyQt5/
PyQt5的主要模块和基本作用:
1 PyQt5安装
(1)安装Pycharm,最好使用Anaconda环境,便于管理库。
(2)安装相关模块,pyqt5,pyqt5-tools,pyqt5designer
(3)配置外置工具功能,Qt设计器和Python和ui文件的转换工具。
基本步骤,网络上可以搜索到,这里不做具体说明。如有需要可以评论。
2 PyQt5基本结构
介绍python代码的基本程序结构:
# 导入需要的包和模块
from PyQt5.Qt import * # 主要包含了我们常用的一些类, 汇总到了一块
import sys
# 创建一个应用程序对象
app = QApplication(sys.argv)
# 创建窗口控件
window = QWidget()
# 设置窗口控件
window.setWindowTitle("窗口名称")
window.resize(400, 400)
# 添加文字标签
label = QLabel(window)
label.setText("Hello world!")
label.move(200, 200)
# 展示窗口控件
window.show()
# 退出代码:等待用户操作
sys.exit(app.exec_())
小问题说明:
很多人在自己电脑上用MainWindow建立窗口,导致最后设计的窗口大小与输出的窗口大小不一致,窗口被挤压到左上角无法全部显示,用Widget建立窗口就行了。基本功能都是差不多的,修改一下代码结构就行了。用Qt设计器搭建时,MainWindow窗口会自带一个菜单栏和一个状态栏,而Widget窗口没有,默认就是一个空窗口。
3 PyQt5事件机制
类似pygame中的功能,软件需要获取一些基本事件,比如键盘、鼠标的状态获取,PyQt5中有对应的库,在QtWidgets.pyi文件中。典型功能介绍如下:
(1)showEvent,窗口显示
(2)closeEvent,窗口关闭
(3)moveEvent,窗口移动
(4)resizeEvent,窗口尺寸改变
(5)enterEvent,鼠标进入窗口
(6)leaveEvent,鼠标移开窗口
(7)mousePressEvent,鼠标按下
(8)mouseReleaseEvent,鼠标释放
(9)mouseDoubleClickEvent,鼠标双击
(10)mouseMoveEvent,鼠标移动
(11)keyPressEvent,键盘某键按下
(12)keyReleaseEvent,键盘某键释放