浏览 28 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:昨天
学习地址1:https://pan.baidu.com/s/1q3p_F6pSkY4QZQ5Ddc8gKQ 提取码:ydt7 学习地址2:https://share.weiyun.com/ntyKrDXw 密码:hb7tce PyQt6 是基于 Python 的一系列模块。它是一个多平台的工具包,可以在包括Unix、Windows和Mac OS在内的大部分主要操作系统上运行。PyQt6 有两个许可证,开发人员可以在 GPL 和商业许可之间进行选择。 PyQt6 模块 PyQt6 类是由一系列模块组成的,包括如下的模块: QtCore QtGui QtWidgets QtDBus QtNetwork QtHelp QtXml QtSvg QtSql QtTest PyQt6 中的事件 GUI 应用程序是事件驱动的。事件主要由应用程序的用户触发,但也可以通过其他方式生成,例如 Internet 连接、窗口管理器或定时器。当我们调用应用程序的 exec() 方法时,应用程序进入主循环。主循环获取事件并将它们发送到对象。 在事件模型里,事件源对象将处理事件的任务委托给事件目标。有三个要素: 事件源 event source 事件源是状态改变的对象,它会产生事件。 事件对象 event object 封装了事件源中的状态变化。 事件目标 event target 要被通知的对象。 PyQT 中有三个类可以用于创建窗口组件 : QMainWindow :可以包含菜单栏、工具栏、状态栏、标题栏等,是最常见的窗口形式,也可以说是GUI程序的主窗口 QDialog : 对话框窗口的基类 , 用于生成交互的对话框 QWidget : 基本窗口部件类 , 也是QMainWindow的基类 PySide 6/PyQt 6具有的特性 能跨平台运行在Windows、Linux和macOS等平台上。 对QT库进行完全封装,基于高性能的Qt的GUI控件集。 使用信号/槽机制进行通信。 提供了一整套种类繁多的窗口控件。 可以使用Qt成熟的IDE(如 Qt Designer)进行图形界面设计,并自动生成可执行的Python代码。 底层是Qt的dll文件,基于C++运行,所以运行效率上得到了一定的保证。 PySide6:PySide6是Qt的另一个Python绑定,与PyQt类似,但使用了更宽松的许可证(LGPL)。它提供了与PyQt相似的功能和API,因此如果熟悉PyQt的使用,可以很容易地切换到PySide6。与PyQt相比,PySide6的社区支持可能相对较少,但它仍然是一个可行的选择。 PySide 6/PyQt 6之间的区别 PySide 6/PyQt 6 都基于Qt6,他们之间的代码基本没有区别,其它方面有两个最重要的区别,掌握这两个区别可以帮助开发人员解决PySide 6/PyQt 6之间约95%的兼容性问题。 一是信号与槽的命名。 PySide 6/PyQt 6关于信号与槽的命名不同,使用下面的方法可以统一起来: from PySide6.QtCore import Signal, Slot from PyQt6.QtCore import pyqtSignal as Signal, pyqtSlot as Slot 二是关于枚举的问题。 PySide 6 为枚举的选项提供了快捷方式,比如Qt.DayOfWeek枚举星期一到星期日,在 PySide 6中星期三可以直接用快捷方式Qt.Wednesday表示,而PyQt 6 需要完整的使用Qt.DayOfWeek.Wednesday表示。解决这个问题最简单的方法是从Qt官方帮助文档中查询枚举的完整路径,另一个方法是使用qtpy模块,使用qtpy模块可以把PySide和PyQt统一起来,直接使用快捷方式。 通过以下方式:pip install qtpy from qtpy.QtCore import Qt 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |