PyQT6 GUI编程开发桌面软件

woaidaqipaiqiu1122 · · 141 次点击 · · 开始浏览    
PyQT6 GUI编程开发桌面软件 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![QQ截图20241030154346.png](http://static.itsharecircle.com/241030/ac33797707429d3964e8a6916d7935d7.png)
141 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传