python 多个tkinter.Checkbutton 动态绑定variable
时间: 2023-07-01 16:07:20 浏览: 230
python-tkinter.messagebox 整蛊人的代码 可运行 原创
可以使用一个列表来存储所有的 `Checkbutton` 对象,然后通过循环为每个对象动态绑定 `variable`。
下面是一个示例代码:
```python
import tkinter as tk
root = tk.Tk()
# 定义一个列表来存储所有的 Checkbutton 对象
checkboxes = []
# 创建 5 个 Checkbutton,并将它们添加到窗口中
for i in range(5):
var = tk.BooleanVar()
checkbox = tk.Checkbutton(root, text=f"Checkbox {i+1}", variable=var)
checkbox.pack()
checkboxes.append(checkbox)
# 循环为每个 Checkbutton 动态绑定 variable
for checkbox in checkboxes:
checkbox["variable"] = checkboxes[0]["variable"]
root.mainloop()
```
在这个示例中,我们使用一个 `for` 循环创建了 5 个 `Checkbutton` 对象,并将它们添加到窗口中。我们还定义了一个名为 `checkboxes` 的列表,用于存储所有的 `Checkbutton` 对象。
接下来,我们使用另一个 `for` 循环为每个 `Checkbutton` 动态绑定 `variable`。在这个循环中,我们将每个 `Checkbutton` 的 `variable` 属性设置为列表中第一个 `Checkbutton` 的 `variable` 属性,这样所有的 `Checkbutton` 对象就共享同一个 `BooleanVar` 对象了。
注意:如果你使用的是 `IntVar` 或 `StringVar`,则需要将 `variable` 属性的值设置为整数或字符串,而不是 `BooleanVar` 对象。
阅读全文