Button 当试图操作列表框的项目,但未选择任何项目时,是否停止该错误?
我是tkinter的初学者。我正在列一张名单。您可以删除、选择和编辑它,但如果我没有选择列表中的任何内容并单击这些按钮,它会显示:Button 当试图操作列表框的项目,但未选择任何项目时,是否停止该错误?,button,python-3.x,tkinter,listbox,Button,Python 3.x,Tkinter,Listbox,我是tkinter的初学者。我正在列一张名单。您可以删除、选择和编辑它,但如果我没有选择列表中的任何内容并单击这些按钮,它会显示: Exception in Tkinter callback Traceback (most recent call last): File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__ return self.func(*args) File "C:\Users\user\Desktop\
Exception in Tkinter callback Traceback (most recent call last): File
"C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__ return
self.func(*args) File "C:\Users\user\Desktop\HOW_TOUGH - NEW\Change_user.py",
line 60, in Edit (idx, ) = d ValueError: need more than 0 values to unpack'''
我计划禁用按钮,如果用户没有点击任何东西,但我不够专业。这是我的代码(这是一个子窗口)
当未选择任何内容时,方法
curselection()
返回一个空元组。只需添加一个
if not d:
return
如果要使按钮变灰,可以执行以下操作:
button["state"] = DISABLED
请注意,这在当前代码中不起作用,因为您执行了以下操作:
self.button = ttk.Button(...).pack()
问题在于调用pack()
,它返回None
,有效地将self.button
绑定到None
。只需先将button对象分配给变量,然后打包即可。此外,不建议从Tkinter导入*
,因为您正在命名空间中删除约190个名称。只用
import tkinter as tk
import tkinter as tk