Tkinter 创建checkbox list


TK没有CheckBoxList文件,因此需要自定义组件。

自定义组件新建CheckBoxList文件。

import tkinter as tk

class CheckboxList(tk.Frame):
    def __init__(self, master, options):
        super().__init__(master)
        self.vars = []
        for option in options:
            var = tk.BooleanVar(value=False)
            self.vars.append(var)
            checkbox = tk.Checkbutton(self, text=option, variable=var, onvalue=True, offvalue=False)
            checkbox.pack(side="top", anchor="w")
    def getChecked(self):
        checked = []
        for i, var in enumerate(self.vars):
            if var.get():
                checked.append(i)
        return checked

运行代码

import tkinter as tk
import tkinter.ttk as ttk

win = tk.Tk()
win.title("CommunicationTool")
# 创建Checkbox列表
options = ["Option 1", "Option 2", "Option 3"]
checkboxList = CheckboxList(win, options)
checkboxList.pack(side="top", fill="x")

win.mainloop()


效果图

image.png

这个Checkbox列表有一个名为options的参数,您可以将选项列表传递给它。 Checkbox列表CheckboxList使用布尔变量来存储选项是否被选中。getChecked方法将返回选定选项的索引列表。


在这个例子中,我们创建了一个名为root的窗口,然后创建了一个名为options的选项列表。 然后我们创建CheckboxList实例并将其包装在窗口中。最后,我们创建了一个按钮来获取选中的选项。当您单击按钮时,控制台将输出选中选项的索引列表。

TK没有CheckBoxList文件,因此需要自定义组件。

自定义组件新建CheckBoxList文件。

import tkinter as tk

class CheckboxList(tk.Frame):
    def __init__(self, master, options):
        super().__init__(master)
        self.vars = []
        for option in options:
            var = tk.BooleanVar(value=False)
            self.vars.append(var)
            checkbox = tk.Checkbutton(self, text=option, variable=var, onvalue=True, offvalue=False)
            checkbox.pack(side="top", anchor="w")
    def getChecked(self):
        checked = []
        for i, var in enumerate(self.vars):
            if var.get():
                checked.append(i)
        return checked

运行代码

import tkinter as tk
import tkinter.ttk as ttk

win = tk.Tk()
win.title("CommunicationTool")
# 创建Checkbox列表
options = ["Option 1", "Option 2", "Option 3"]
checkboxList = CheckboxList(win, options)
checkboxList.pack(side="top", fill="x")

win.mainloop()


效果图

image.png

这个Checkbox列表有一个名为options的参数,您可以将选项列表传递给它。 Checkbox列表CheckboxList使用布尔变量来存储选项是否被选中。getChecked方法将返回选定选项的索引列表。


在这个例子中,我们创建了一个名为root的窗口,然后创建了一个名为options的选项列表。 然后我们创建CheckboxList实例并将其包装在窗口中。最后,我们创建了一个按钮来获取选中的选项。当您单击按钮时,控制台将输出选中选项的索引列表。

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在