python基础-推荐8个常用的Python GUI图形界面开发框架

在Python中,GUI(图形用户界面)开发框架为开发者提供了创建交互式应用程序的工具。以下是八款常用的Python GUI图形界面开发框架及其简要代码讲解:

CSDN大礼包:《2024年最新全套学习资料包》免费分享

1. Tkinter

  • 简介:Tkinter是Python的标准GUI库,它提供了一个简单的方式来创建窗口、对话框等GUI元素。Tkinter被整合到当前所有主要操作系统的Python安装程序中,因此无需额外安装。
  • 代码示例
  • 
    python复制代码
    
    
    import tkinter as tk
    
    
    
    root = tk.Tk()
    
    root.title("Tkinter Example")
    
    
    
    label = tk.Label(root, text="Hello, Tkinter!")
    
    label.pack()
    
    
    
    button = tk.Button(root, text="Click Me", command=root.quit)
    
    button.pack()
    
    
    
    root.mainloop()
    2. PyQt
    
  • 简介:PyQt是Qt库的Python版本,Qt是一个跨平台的C++图形用户界面应用程序开发框架。PyQt提供了丰富的GUI组件和强大的功能,适用于开发大型应用程序。
  • 代码示例(以PyQt5为例):
  • from PyQt5.QtWidgets import QApplication, QLabel, QWidget
    
    app = QApplication([])
    
    window = QWidget()
    window.setWindowTitle('PyQt5 Example')
    window.setGeometry(100, 100, 280, 80)
    
    label = QLabel(window)
    label.setText('Hello, PyQt5!')
    label.move(95, 20)
    
    window.show()
    app.exec_()
    3. wxPython
    
  • 简介:wxPython是wxWidgets库的Python封装,wxWidgets是一个跨平台的C++ GUI库。wxPython提供了丰富的GUI组件和强大的跨平台能力。
  • 代码示例
  • import wx
    
    class MyFrame(wx.Frame):
        def __init__(self, *args, **kw):
            super(MyFrame, self).__init__(*args, **kw)
            self.SetTitle("wxPython Example")
            panel = wx.Panel(self)
            text = wx.StaticText(panel, label="Hello, wxPython!", pos=(10, 10))
            btn = wx.Button(panel, label="Close", pos=(10, 40))
            btn.Bind(wx.EVT_BUTTON, self.OnClose)
    
        def OnClose(self, event):
            self.Close()
    
    class MyApp(wx.App):
        def OnInit(self):
            frame = MyFrame(None, size=(300, 100))
            frame.Show()
            return True
    
    app = MyApp()
    app.MainLoop()
    4. Kivy
    
  • 简介:Kivy是一个开源的Python GUI框架,它使用OpenGL ES 2进行渲染,支持多点触控和跨平台开发。Kivy适用于开发游戏和具有复杂交互的应用程序。
  • 代码示例
  • from kivy.app import App
    from kivy.uix.label import Label
    
    class MyApp(App):
        def build(self):
            return Label(text='Hello, Kivy!')
    
    if __name__ == '__main__':
        MyApp().run()
    5. Flexx
    
  • 简介:Flexx是一个纯Python工具包,用于创建图形化界面应用程序。它使用Web技术进行界面渲染,因此可以创建桌面应用和导出为独立的HTML文档。
  • 代码示例
  • from flexx import flx
    
    class MyApp(flx.App):
        def init(self):
            self.label = flx.Label(text='Hello, Flexx!')
    
        def render(self):
            return flx.Widget(content=[self.label])
    
    app = MyApp.launch()
    flx.run()
    6. PySimpleGUI
    
  • 简介:PySimpleGUI是一个易于使用的Python GUI框架,它封装了多个流行的GUI库(如Tkinter、PyQt等),提供了简单的API来创建GUI应用程序。
  • 代码示例
  • import PySimpleGUI as sg
    
    layout = [[sg.Text('Hello, PySimpleGUI!'), sg.Button('OK')]]
    
    window = sg.Window('Demo', layout)
    
    while True:
        event, values = window.read()
        if event == sg.WINDOW_CLOSED or event == 'OK':
            break
    
    window.close()
    7. PyGTK(或PyGObject)
    
  • 简介:PyGTK(或PyGObject)是GTK+库的Python绑定,GTK+是一个用于创建图形用户界面的跨平台工具包。PyGTK提供了丰富的GUI组件和强大的功能。
  • 代码示例(以PyGObject为例):
  • from gi.repository import Gtk
    
    class MyWindow(Gtk.Window):
        def __init__(self):
            super().__init__(title="PyGObject Example")
            self.set_default_size(200, 100)
            self.label = Gtk.Label(label="Hello, PyGObject!")
            self.add(self.label)
    
    win = MyWindow()
    win.connect("destroy", Gtk.main_quit)
    win.show_all()
    Gtk.main()
    8. Urwid
    
  • 简介:Urwid是一个用于创建文本用户界面的Python库,它提供了丰富的控件和布局管理器,适用于开发命令行应用程序。
  • 代码示例
  • import urwid
    
    def main():
        txt = urwid.Text("Hello, Urwid!")
        fill = urwid.Filler(txt, 'top')
        loop = urwid.MainLoop(fill, palette=[('reversed', 'standout', '')])
        loop.run()
    
    if __name__ == '__main__':
        main()
    这些框架各有特点,适用于不同的应用场景。开发者可以根据自己的需求选择合适的框架进行GUI开发。
    

    作者:小尤笔记

    物联沃分享整理
    物联沃-IOTWORD物联网 » python基础-推荐8个常用的Python GUI图形界面开发框架

    发表回复