在Python中,GUI(图形用户界面)开发框架为开发者提供了创建交互式应用程序的工具。以下是八款常用的Python GUI图形界面开发框架及其简要代码讲解:
CSDN大礼包:《2024年最新全套学习资料包》免费分享
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
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
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
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
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
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)
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
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开发。