Tkinter Optionmenu 回调不起作用
由于某种原因我无法获得此选项菜单,因此调用回调函数。这些小部件需要一些特殊处理吗? (该函数本身可以工作,我可以从即按钮调用它。)
self.shapemenu=Tkinter.OptionMenu(self.frame,self.shape,"rectangle", "circular", command=self.setshape)
self.shape 是一个 Tkinter.StringVar ,显然 setshape 是回调函数。
我在这里做错了什么?
For some reason I can't get this optionmenu so call the callback function. Is there some special treatment those widgets require? (The function itself works and I can call it from i.e. a button.)
self.shapemenu=Tkinter.OptionMenu(self.frame,self.shape,"rectangle", "circular", command=self.setshape)
self.shape is a Tkinter.StringVar and obviously setshape is the callback function.
What am I doing wrong here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
选项菜单旨在设置值,而不是执行操作。您不能为其分配命令,如果这样做,您将破坏其设置值的默认行为——它在内部使用命令选项来管理其值。
如果您希望值更改时发生某些情况,请在 StringVar 上添加跟踪。
The optionmenu is designed to set a value, not perform an action. You can't assign a command to it, and if you do, you will break its default behavior of setting the value -- it uses the command option internally to manage its values .
If you want something to happen when the value changes, add a trace on the StringVar.