📜  如何从列表中获取检查按钮 - Python (1)

📅  最后修改于: 2023-12-03 14:51:47.410000             🧑  作者: Mango

如何从列表中获取检查按钮 - Python

在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应用程序中实现复选功能。