分享

Python十大GUI 库示例代码,记得保存

 新潮看世界 2023-04-28 发布于北京


Python GUI 库非常丰富,下面是几个比较常见的 GUI 库以及它们的优势劣势和性能比较:

1. Tkinter  

Tkinter 是 Python 自带的 GUI 库,它基于 Tcl/Tk 套件开发。

Tkinter 是 Python 中最简单的 GUI 库之一,易于学习和使用。

它支持多种操作系统平台,并且拥有完整的文档和示例库。

缺点: Tkinter 的视觉设计略显陈旧,但使用多种主题和插件可以改善这个问题。Tkinter 性能较高,因为它是一种原生的 GUI 库。如果你需要快速开发简单的 GUI 程序,Tkinter 是一个很好的选择。

from tkinter import *

root = Tk()

root.title("Hello World!")

root.mainloop()

2. PyQT / PySide  

PyQt 和 PySide 均为基于 Qt 库的 Python GUI 库。

它们实现了 Qt 库的完整功能,并且有非常丰富的文档和示例库。

它们都是非常强大和高度定制化的 GUI 库,支持多种操作系统平台。PySide 许可证授权比 PyQt 更为宽松,但在使用上需要注意其 Python 包名的一些细节。

由于 PyQT 和 PySide 基于 Qt 库,其性能和稳定性都非常好。如果你需要定制化和高性能的 GUI 程序,PyQT 或 PySide 是明智的选择。

from PyQt5.QtWidgets import QApplication, QWidget

app = QApplication([])

window = QWidget()

window.setWindowTitle("Hello World!")

window.show()

app.exec_()

3. wxPython  

wxPython 是使用 C++ 开发的 wxWidgets GUI 库的 Python 封装。

它是一个跨平台的 GUI 库,支持多种操作系统平台。

wxPython 具有丰富的工具和组件,如图形控件、数据库连接、网络编程等。但缺点是 wxPython 的文档和示例库相对较少,因此学习曲线较 steep 一些。

4. Kivy  

Kivy 是一个跨平台的 Python GUI 库,灵感来自于介于基于手势的管理应用程序和游戏之间,支持 TCL/TK,Qt,GTK 和 PyQt 等。

它专注于移动应用程序和多点触控界面,并支持多种输入和输出设备。Kivy 提供丰富的界面和布局管理器,支持用 Python 语言直接编写应用程序。但缺点是细节较多,特别是对于初学者来说可能会感到不太友好。Kivy 性能在移动平台上非常棒,但在桌面应用程序中略微逊色。

from kivy.app import App

from kivy.uix.label import Label

class HelloApp(App):

    def build(self):

        return Label(text="Hello World!")

HelloApp().run()

5.Pygame

Pygame 是一个用于制作 2D 游戏的 Python 库,它基于 SDL 库和 PyOpenGL 库开发。Pygame 很容易学习和使用,具有丰富的示例库和文档。

6.wxPythonPhoenix

wxPythonPhoenix 是 wxPython 4 的升级版本,它拥有更好的 Python3 支持和更丰富的专用控件库。

import wx

app = wx.App()

frame = wx.Frame(None, title="Hello World!")

frame.Show()

app.MainLoop()

7、PyForms
PyForms 是一个基于 PyQt 的 Python 库,它主要用于开发数据驱动的桌面应用程序。它默认提供了许多通用的表单输入元素,使数据输入变得更加容易。

import wx

app = wx.App()

frame = wx.Frame(None, title="Hello World!")

frame.Show()

app.MainLoop()

8、PySide2
PySide2 是芬兰公司 The Qt Company 推出的框架 PySide 的下一代版本。它是 Qt 库的 Python 封装,与 PyQt 相似。PySide2 具有良好的跨平台能力,并且其开发文档全面而丰富。

9、PyGUI
PyGUI 是一个使用自己的 Python 代码,无需绑定任何底层库的跨操作系统的 GUI 库。它使用类似于 Tkinter 的标准库,并支持自定义主题。由于 PyGUI 使用纯 Python 代码实现 GUI,它也在部分性能和稳定性方面略逊于原生 GUI 库。

10、PyGTK

PyGTK 是 Python 的 GTK+ GUI 库的封装。它是从 C 语言的 GTK+ 库上继承而来,支持多个操作系统平台。

由于 GTK+ 是对跨平台 GUI 的一种尝试,因此 PyGTK 技术的扩展性较强。但是它的文档并不是那么完全,学习曲线比较 steep。

import gtk

class HelloWorld:

    def __init__(self):

        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)

        self.window.connect("destroy", lambda x: gtk.main_quit())

        self.button = gtk.Button("Hello World")

        self.button.connect("clicked", self.hello)

        self.window.add(self.button)

        self.window.show_all()

    def hello(self, widget, data=None):

        print "Hello World"

def main():

    gtk.main()

    return 0

if __name__ == "__main__":

    HelloWorld()

    main()

结论

目前Qt的市场应用最为广泛,如果你需要开发界面功能,那么使用PythonQt,PySide6等大众推崇的优秀Ui库才是最合理的方式。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多