我正在使用wxpython中的platebutton构建一个应用程序。问题是我无法手动设置toogle的SetState。我使用了SetState(0)但它没有改变切换按钮的状态。任何帮助都会很棒。谢谢。示例代码:
self.infinity= platebutton.PlateButton(self._ribbon,wx.ID_NEW, bmp = wx.Bitmap('infinity.bmp'), pos = (0,0), size = (38,18), style= platebutton.PB_STYLE_NOBG |platebutton.PB_STYLE_TOGGLE)
def OnInfinityToggled(self,event):
if event.GetEventObject().IsPressed():
self.popupmenu = wx.Menu()
Session = self.popupmenu.Append(-1, "Session")
self.Bind(wx.EVT_MENU, self.SessionMenu, Session)
self.PopupMenu(self.popupmenu,(2,23))
else:
pass
def SessionMenu(self, event):
print 5
self.infinity.SetState(0)
self.infinity.Raise()
答案 0 :(得分:0)
PLATE_NORMAL = 0
PLATE_PRESSED = 1
PLATE_HIGHLIGHT = 2
SetState(0)表示设置为normal。
答案 1 :(得分:0)
这是我设法进入toggle
状态的方法:
btn._ToggleState()
btn._pressed = True
答案 2 :(得分:-1)
我遇到了同样的问题。玩弄我设法用
解决我的问题button._SetState(ix)
button.Refresh()
其中ix =您选择的州。