在wxPython中为按钮设置相应事件是通过Bind来设置的,通过设置 触发事件(点击或松开等),回调函数,触发控件三个参数
设置按钮的点击事件
#绑定点击事件,保存按钮
frame.Bind(wx.EVT_BUTTON,saveCLick,mhV.saveBtn)
#绑定点击事件,开始按钮
frame.Bind(wx.EVT_BUTTON,saveCLick,mhV.beginBtn)
这样就能在点击保存按钮后,进入到saveClick()的函数中处理事件。
在saveClick()中我们先判断当前选择,并作出修改模型中的标识,以及输出显示。
def saveClick(event):
# tea = mhV.teachChe.GetValue()
mhModel.printStr = ('当前已选择任务:\n')
if mhV.teachChe.GetValue() == True:
mhModel.printStr = mhModel.printStr + ('自动师门\n')
mhModel.isTeach = True
if mhV.demonChe.GetValue() == True:
mhModel.printStr = mhModel.printStr + ('秘境降妖\n')
mhModel.isDemon = True
if mhV.mapChe.GetValue() == True:
mhModel.isMap = True
mhModel.printStr = mhModel.printStr + ('自动宝图\n')
if mhV.moveChe.GetValue() == True:
mhModel.isMove = True
mhModel.printStr = mhModel.printStr + ('自动运镖\n')
#保存设置
mhModel.isSave = True
mhV.printTextLab.SetLabel(mhModel.printStr)
运行后可看到,会根据当前选择进行输出。
对开始按钮也一样进行事件的绑定:
#绑定点击事件,开始按钮
frame.Bind(wx.EVT_BUTTON,saveClick,mhV.beginBtn)
添加函数,函数内部具体下一步再进行设计
def beginClick():
if mhModel.isSave == True:
#开始执行
pass
else:
pass
#提示进行保存
(另:要注意的是,实际的代码文件中,def函数是写在调用之前的)