推荐使用: wxPython

一. 安装wxPython

二. 第一个wxPython程序
展示

代码
# coding: utf-8
import wx
# 创建应用程序对象
app = wx.App()
# 创建窗口对象
frame = wx.Frame(None, title="Hello World", size=(300, 200), pos=(100, 100))
# 显示窗口
frame.Show()
# 进入主事件循环
app.MainLoop()

三. 自定义窗口类

# coding: utf-8
import wx
class MyFrame(wx.Frame):
def __init__(self, title):
super().__init__(None, title=title, size=(300, 200), pos=(500, 500))
# 创建应用程序对象
app = wx.App()
# 创建窗口对象
# frame = wx.Frame(None, title="Hello World", size=(300, 200), pos=(100, 100))
frame = MyFrame("Hello World")
# 显示窗口
frame.Show()
# 进入主事件循环
app.MainLoop()
四. 在窗口中添加控件


# coding: utf-8
import wx
class MyFrame(wx.Frame):
def __init__(self, title):
super().__init__(None, title=title, size=(300, 200), pos=(500, 500))
panel = wx.Panel(parent=self)
staticText = wx.StaticText(parent=panel, label="Hello World", pos=(100, 100))
# 创建应用程序对象
app = wx.App()
# 创建窗口对象
# frame = wx.Frame(None, title="Hello World", size=(300, 200), pos=(100, 100))
frame = MyFrame("Hello World")
# 显示窗口
frame.Show()
# 进入主事件循环
app.MainLoop()
五. 事件处理



# coding: utf-8
import wx
import random
class MyFrame(wx.Frame):
def __init__(self, title):
super().__init__(None, title=title, size=(800, 600), pos=(500, 500))
panel = wx.Panel(self)
self.staticText = wx.StaticText(panel, label="Hello World", pos=(100, 100))
b = wx.Button(panel, label="ok", pos=(100, 150), size=(100, 50))
self.Bind(wx.EVT_BUTTON, self.On_Click, b)
def On_Click(self, event):
# 获取随机数
random_num = random.randint(1, 100)
self.staticText.SetLabel("点我点我" + str(random_num))
# 创建应用程序对象
app = wx.App()
# 创建窗口对象
# frame = wx.Frame(None, title="Hello World", size=(300, 200), pos=(100, 100))
frame = MyFrame("Hello World")
# 显示窗口
frame.Show()
# 进入主事件循环
app.MainLoop()
六. 布局管理
1. 盒子布局管理器

1.1 创建盒子布局管理器对象

1.2 添加子窗口(或控件)到父窗口




七. 重构事件处理示例



八. 盒子管理器嵌套示例

九. 静态图片控件













![[Python GUI PyQt] PyQt5快速入门](https://img-blog.csdnimg.cn/direct/dfab37ca62e24f6ea4a0eb9dde8626c6.png#pic_center)








