AttributeError: 'Checkbutton' object has no attribute 'get'
时间: 2023-06-22 08:21:05 浏览: 354
bcremoveobjectimageattributecontent:BC Remove Object Image Attribute Content 提供了一个稳定而灵活的解决方案,允许用户根据当前版本、所有版本或新版本动态删除内容对象图像属性内容。 提供对图像属性内容的脚本化操作!
很抱歉,我之前的回答有误。在Tkinter中,Checkbutton对象本身是没有get()方法的,它的值需要通过对应的变量来获取。以下是修改后的代码示例:
```python
from tkinter import *
# 定义字典
my_dict = {
'key1': {
'value1': 'description1',
'value2': 'description2',
'value3': 'description3'
},
'key2': {
'value4': 'description4',
'value5': 'description5',
'value6': 'description6'
},
#...
}
# 创建主窗口
root = Tk()
# 设置窗口标题和大小
root.title("Dictionary Details")
root.geometry("500x400")
# 创建一个列表框,显示字典的明细
listbox = Listbox(root, width=50, height=20)
listbox.pack(side=LEFT, padx=10, pady=10)
# 创建多个复选框,用于选择字典的值
checkbox_vars = {}
for key in my_dict.keys():
# 创建一个标签,显示键的名称
label = Label(root, text=key)
label.pack(anchor=W, padx=10, pady=5)
# 创建多个复选框,用于选择字典的值
values = my_dict[key]
for value in values.keys():
var = IntVar()
checkbox = Checkbutton(root, text=value, variable=var, onvalue=1, offvalue=0)
checkbox.pack(anchor=W, padx=20)
checkbox_vars[(key, value)] = var
# 创建一个按钮,用于将选择的明细添加到列表框中
def add_details():
for (key, value), var in checkbox_vars.items():
if var.get() == 1:
description = my_dict[key][value]
listbox.insert(END, f"{key}: {value} - {description}")
button = Button(root, text="Add Details", command=add_details)
button.pack(pady=10)
# 进入消息循环
root.mainloop()
```
运行代码后,会弹出一个GUI界面,显示出字典的明细和多个复选框,你可以选择复选框并点击“Add Details”按钮,将选择的明细添加到列表框中。
阅读全文