python GUI开发-(一)GUI框架介绍

什么是GUI

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

图形用户界面是一种人与计算机通信的界面显示格式,由窗口、下拉菜单、对话框及其相应的控制机制构成,允许用户使用鼠标、键盘等输入设备操纵屏幕上的图标或菜单选项,以选择菜单、点击按钮等方式与系统交互。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。

主流开发语言均有其GUI框架,列如:

java语言:AWT、Swing。

C#语言: Windows From WPF

C语言:Qt、GTK

C++语言:Qt、GTK、FLTK

GUI框架

那么,python可选的主流GUI框架有哪些呢?我们来总结下:

  • Tkinter:Python 标准库的一部分,无需额外安装。
  • PyQT、PySide:Qt 框架的 Python 绑定,功能强劲。
  • wxPython:基于 wxWidgets 的 Python 绑定,外观接近原生应用。
  • Kivy:专注于多点触控和移动端应用的框架。
  • PySimpleGUI:封装了 Tkinter、PyQt 等框架,简化 GUI 开发。
  • Toga:跨平台原生 GUI 框架,外观与操作系统一致。
  • Remi:基于 Web 的 GUI 框架,界面通过浏览器访问。

接下来我们主要讨论下基于Qt的两种框架:PyQt和Pyside。

PyQt 是 Qt 框架的第一个 Python 绑定,由 Riverbank Computing 开发。它基于 Qt 的 C++ 实现,并通过 SIP 工具生成 Python 绑定。PyQt 最早于 1998 年发布,支持 Qt1 和 Qt2,后来逐渐支持 Qt4 和 Qt5。PyQt 采用 GPL(GNU General Public License)和商业许可证。如果使用 GPL 许可证,开发的开源项目必须公开源代码,商业项目需要购买商业许可证。

PySide 是 Qt 公司(The Qt Company)官方开发的 Python 绑定,最初由 Nokia 发起。PySide 项目始于 2009 年,目标是提供一个与 PyQt 兼容但许可证更友善的替代品。PySide 采用 LGPL(GNU Lesser General Public License)。LGPL 允许在开源和闭源项目中免费使用,无需公开源代码。

显而易见,在现阶段,PySide将是python语言GUI开发框架的优先选择。

PySide

综上所述,选择PySide的缘由主要有以下几点:

  • 功能强劲:基于 Qt 框架,支持丰富的控件和现代化界面设计。
  • 跨平台:除了支持 Windows 平台,还支持 macOS、Linux。
  • 宽松的许可证:LGPL 许可证允许商业使用,无需公开源代码。
  • 丰富的工具支持:如 Qt Designer 和 Qt Creator,提供可视化界面设计和开发支持。
  • 高性能:Qt公司官方开发,底层基于 C++,性能优异,适合复杂应用。

PySide 的发展主要经历了两个重大的版本:PySide2 和 PySide6。PySide2 是 Qt5 的 Python 绑定。它提供了 Qt5 的所有功能模块,适用于开发基于 Qt5 的应用程序。PySide6 是 Qt6 的 Python 绑定。它基于 Qt6,支持 Qt6 的新特性(如改善的 QML、更好的性能和高 DPI 支持)。PySide6 是 PySide2 的升级版本,适用于开发基于 Qt6 的应用程序。

© 版权声明

相关文章

3 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    小兽睡睡 投稿者

    pyside才好用pyqt不友好还有版权

    无记录
  • 头像
    造型师黄俊 读者

    是的,看来你也搞过python的GUI开发

    无记录
  • 头像
    瞳小吴 读者

    收藏了,感谢分享

    无记录