Python Tkinter Tk 支持清单框? [英] Python Tkinter Tk support checklist box?
本文介绍了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屋!
查看全文