Tkinter Optionmenu回调不起作用

Jak*_*kob 3 python tkinter

由于某种原因,我无法获得此选项菜单,因此请调用回调函数。这些小部件需要某些特殊处理吗?(该函数本身有效,我可以从一个按钮调用它。)

self.shapemenu=Tkinter.OptionMenu(self.frame,self.shape,"rectangle", "circular", command=self.setshape)
Run Code Online (Sandbox Code Playgroud)

self.shape是一个Tkinter.StringVar,显然setshape是回调函数。

我在这里做错了什么?

Bry*_*ley 6

选项菜单旨在设置值,而不执行操作。您无法为其分配命令,如果这样做,则会破坏其默认值的设置行为-它在内部使用command选项来管理其值。

如果您希望值更改时发生某些事情,请在StringVar上添加跟踪。