Cru*_*xel 0 python exception tkinter optionmenu
我想创建一个在更改时OptionMenu编辑另一个的tkinter OptionMenu.所以我尝试创建一个command=参数,使得每次更新时都会运行一个特定的命令OptionMenu,就像我将command=参数用于按钮,旋转框等时一样.
tl.wktype = OptionMenu(tl,wktypevar, *wk_types,command=typeupdate)
Run Code Online (Sandbox Code Playgroud)
代码中的其他位置是typeupdate()Command - 用于调试目的.
def typeupdate():
typeval = tl.wktype.get()
print(typeval)
Run Code Online (Sandbox Code Playgroud)
python抛出的异常如下:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__
return self.func(*args)
File "C:\Python33\lib\tkinter\__init__.py", line 3300, in __call__
self.__callback(self.__value, *args)
TypeError: typeupdate() takes 0 positional arguments but 1 was given
Run Code Online (Sandbox Code Playgroud)
确实typeupdate()给出了什么位置参数以及如何解决这个问题?
它被赋予了被点击的值.要演示,请考虑以下脚本:
from tkinter import Tk, OptionMenu, StringVar
root = Tk()
def func(val):
print(val)
var = StringVar()
OptionMenu(root, var, "one", command=func).grid()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
运行时(当我点击optionmenu中的选项"one")时,它会在终端中打印"one".
因此,总之,val在函数声明中添加(或任何其他参数名称),它将起作用:
def typeupdate(val):
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4573 次 |
| 最近记录: |