Python Tkinter Tk 支持清单框? [英] Python Tkinter Tk support checklist box?

查看:27
本文介绍了Python Tkinter Tk 支持清单框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 GUI 中创建清单框.可以做 Tkinter 吗?(我不想要复选框列表)

I am trying to create checklist box in GUI . Is possible to do Tkinter ?( i DON'T want list of Check box)

我知道 Python Wx GUI 开发有这种支持,但我正在寻找 Tk 的支持.

I know Python Wx GUI development have this support but I am looking for support in Tk.

如果有人有想法,请分享链接以获取详细信息或方法?

If anyone have idea please share link for details or way to do it ?

推荐答案

Tkinter 没有像 wxPython 的 ChecklistBox 这样的小部件.然而,在框架内创建一组复选按钮是微不足道的.

Tkinter doesn't have a widget like wxPython's ChecklistBox. However, one is trivial to create as a group of checkbuttons inside a frame.

示例:

class ChecklistBox(tk.Frame):
    def __init__(self, parent, choices, **kwargs):
        tk.Frame.__init__(self, parent, **kwargs)

        self.vars = []
        bg = self.cget("background")
        for choice in choices:
            var = tk.StringVar(value=choice)
            self.vars.append(var)
            cb = tk.Checkbutton(self, var=var, text=choice,
                                onvalue=choice, offvalue="",
                                anchor="w", width=20, background=bg,
                                relief="flat", highlightthickness=0
            )
            cb.pack(side="top", fill="x", anchor="w")


    def getCheckedItems(self):
        values = []
        for var in self.vars:
            value =  var.get()
            if value:
                values.append(value)
        return values

用法示例:

choices = ("Author", "John", "Mohan", "James", "Ankur", "Robert")
checklist = ChecklistBox(root, choices, bd=1, relief="sunken", background="white")
...
print("choices:", checklist.getCheckedItems())

这篇关于Python Tkinter Tk 支持清单框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆