【发布时间】:2020-01-24 16:42:17
【问题描述】:
我在从包含“0”和“1”的文本文件中加载复选框状态时遇到问题。
inside "test.txt" file :
1
0
1
0
这是我期望的结果,“1”代表选中框,“0”代表未选中框
下面是我正在处理的代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("180x90")
name1 = ["Mike", "Harry", "Siti", "Jenn"]
def loadstates():
f = open("test.txt", "r")
list_a = []
list_a = f.readlines()
return list_a
f.close()
def createCheckboxes():
for x, y in zip(st, name1):
check = ttk.Checkbutton(root, text=y, variable=x)
if x=='0':
check.select()
else:
check.deselect()
check.pack(anchor=tk.W)
st = loadstates()
createCheckboxes()
root.mainloop()
但它给出了错误:
Traceback(最近一次通话最后一次): 文件“C:/Users/jmamuham/PycharmProjects/LogBook/load_state.py”,第 24 行,在 创建复选框() 文件“C:/Users/jmamuham/PycharmProjects/LogBook/load_state.py”,第 20 行,在 createCheckboxes 中 检查.取消选择() AttributeError: 'Checkbutton' 对象没有属性 'deselect'
知道为什么 .select() 和 .deselect() 会给我这个错误吗?
顺便问一下,我是否使用正确的方法来使用 1 和 0 重新填充复选框状态?
【问题讨论】:
-
f.close()afterreturn将永远不会被执行。 -
总是将完整的错误消息(从单词“Traceback”开始)作为文本(不是屏幕截图)放在有问题的(不是评论)中。还有其他有用的信息。
-
ttk.Checkbutton没有select()和deselect()。但是tkinter.Checkbutton()有select()和deselect()。 -
@furas 注意,我已经编辑了完整的错误消息。感谢 ttk.Checkbutton() 和 tk.checkbutton() 的输入。显然错误来自于此。
-
"variable=x":这不起作用,请阅读Checkbutton option
variable=
标签: python tkinter tkinter.checkbutton