wxpyhon的menuItem方法中GetLabel()函数在新wx版本已经失效了,网上有采取wx降低版本的方法解决,觉得不可取,所以查找了新的替代函数:
color = item.GetItemLabel()
更改后程序没有报错,但是仍然不能更改颜色,
使用print函数查看color变量:
def OnColor(self, event):
menubar = self.GetMenuBar()
itemId = event.GetId()
item = menubar.FindItemById(itemId)
color = item.GetItemLabel()
print(color)
self.sketch.SetColor(color)
控制台结果:
&Red
&Green
问题出在菜单的快捷符号&,将这些符号从menuData中删除:
然后重新使用print查看:
Red
Green
然后运行画布程序,三个颜色显示正常