- 论坛徽章:
- 3
|
回复 4# anselmiao
没事,大家都是一步一步走过来的。
首先要在编写界面的代码中添加一些事件函数,然后在这个事件函数中进行相应的处理。最后用Bind将事件和事件处理函数进行绑定。一个示例如下:- #coding=utf-8
- import wx
- class Calculator(wx.Frame):
- def __init__(self):
- wx.Frame.__init__(self, None, -1, 'Calculator', size=(280, 100))
- panel = wx.Panel(self, -1)
- #添加文本框
- speedLabel = wx.StaticText(panel, -1, u"速度")
- self.speedText = wx.TextCtrl(panel, -1, "", size=(150, -1))
- timeLabel = wx.StaticText(panel, -1, u"时间")
- self.timeText = wx.TextCtrl(panel, -1, "", size=(150, -1))
- #添加按钮
- process = wx.Button(panel, -1, u"计算")
- #显示结果
- self.resultLabel = wx.TextCtrl(panel, -1, "", size=(150, -1))
- #使用sizer布局
- sizer=wx.FlexGridSizer(cols=2,hgap=6,vgap=6)
- sizer.AddMany([speedLabel,self.speedText,timeLabel,
- self.timeText,process,self.resultLabel])
- panel.SetSizer(sizer)
- #绑定事件
- self.Bind(wx.EVT_BUTTON, self.OnClick, process)
-
- def OnClick(self, event):
- result = int(self.speedText.GetValue()) * int(self.timeText.GetValue())
- self.resultLabel.SetValue(str(result))
- if __name__ == '__main__':
- app = wx.PySimpleApp()
- frame = Calculator()
- frame.Center()
- frame.Show()
- app.MainLoop()
复制代码 这里,OnClick函数是自己起的名字,关键是Bind那里,将wx中预定义的事件类型、对应的事件函数、控件这三者绑定到一起来。 |
|