目录
开发工具
- python版本: python-3.8.1-amd64
- python开发工具: JetBrains PyCharm 2018.3.6 x64
- python图形用户界面开发库: wxPython
安装wxPython代码(这里指定了阿里云镜像安装源下载安装会更快)
pip install wxPython -i http://mirrors.aliyun.com/pypi/simple/
代码
# coding = utf-8
import wx
# 自定义窗口类MyFrame
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(None, title="事件处理", size=(400, 300))
# 你的代码 窗口中的控件在这里添加
panel = wx.Panel(parent=self)
self.statictext = wx.StaticText(parent=panel, label='请单击OK按钮', pos=(110, 20)) # 静态文本
b = wx.Button(parent=panel, label='OK', pos=(100, 50)) # 注意label拼写
self.Bind(wx.EVT_BUTTON, self.on_click, b)
# 布局管理 proportion静态文本和按钮都为1,连个控件各占一半
# 创建垂直方向的盒子布局管理器对象vbox
vbox = wx.BoxSizer(wx.VERTICAL)
# 添加静态文本到vbox布局管理器 flag设置空间水平居中
vbox.Add(self.statictext, proportion=1, flag=wx.ALIGN_CENTER_HORIZONTAL | wx.FIXED_MINSIZE | wx.TOP, border=30)
# 添加按钮b到vbox布局管理器
vbox.Add(b, proportion=1, flag=wx.EXPAND | wx.BOTTOM, border=10)
# 设置面板(panel)采用vbox布局管理器
panel.SetSizer(vbox)
def on_click(self, event):
self.statictext.SetLabelText('Hello,World.')
# 创建应用程序对象
app = wx.App()
# 创建窗口对象
frm = MyFrame()
# 显示窗口
frm.Show()
# 进入主时间循环
app.MainLoop()
运行效果
总结
合理运用布局管理器,设置响应的参数信息,可以达到不同的效果