📅  最后修改于: 2023-12-03 14:51:47.410000             🧑  作者: Mango
在Python中,可以使用Tkinter模块来创建GUI应用程序。当你需要从列表或者其他控件中获取用户输入时,你可以通过在列表中添加检查按钮来实现复选功能。本文将介绍如何从列表中获取检查按钮。
首先,需要导入Tkinter模块和相关的组件,包括Listbox和Checkbutton:
import tkinter as tk
from tkinter import Listbox, Checkbutton
然后,定义一个窗口并创建一个列表框,在列表框中添加一些项:
window = tk.Tk()
listbox = Listbox(window)
listbox.pack()
for item in ['apple', 'banana', 'cherry', 'durian']:
listbox.insert(tk.END, item)
接下来,使用for循环为每个项创建一个检查按钮:
checkboxes = []
for i in range(listbox.size()):
var = tk.StringVar()
checkbox = Checkbutton(window, text=listbox.get(i), variable=var)
checkbox.pack()
checkboxes.append(var)
在上面的代码中,我们使用了一个列表chechboxes来存储每个检查按钮的变量。这些变量可以用来获取每个按钮的状态。
最后,我们创建一个函数on_submit(),在函数中遍历所有的检查按钮,并获取它们的状态。代码如下所示:
def on_submit():
for i in range(len(checkboxes)):
print(listbox.get(i), checkboxes[i].get())
在此函数中,我们使用了checkboxes列表来遍历所有的检查按钮,get()方法用来获取它们的状态。
完整的代码如下所示:
import tkinter as tk
from tkinter import Listbox, Checkbutton
window = tk.Tk()
listbox = Listbox(window)
listbox.pack()
for item in ['apple', 'banana', 'cherry', 'durian']:
listbox.insert(tk.END, item)
checkboxes = []
for i in range(listbox.size()):
var = tk.StringVar()
checkbox = Checkbutton(window, text=listbox.get(i), variable=var)
checkbox.pack()
checkboxes.append(var)
def on_submit():
for i in range(len(checkboxes)):
print(listbox.get(i), checkboxes[i].get())
submit_button = tk.Button(window, text="Submit", command=on_submit)
submit_button.pack()
window.mainloop()
以上是如何从列表中获取检查按钮的方法,通过这种方式,你可以在GUI应用程序中实现复选功能。