我有2个列表框彼此相邻,我尝试为这些列表框的每个条目创建一个复选框。不幸的是,我无法使复选框和列表框元素具有相同的高度/位于相同的位置,如下面的屏幕截图所示。
你知道我怎么能修改它以使列表中的复选框类似(这在Tkinter afaik中是不可能的)? 对于我的列表框,我使用此代码段的自定义版本: https://stackoverflow.com/a/16056555/3429131
我希望我以一种可以理解的方式解释我的问题。 谢谢你的帮助。
答案 0 :(得分:2)
如果在列表框中包含所有内容并非100%必要,那么您可以尝试使用网格或包显示数据,这样可以使它们正确对齐,网格可能会更好。
只需将其声明为:
master = Tk()
Model1 = Label(master, text="F45")
Part1 = Label(master, text="AUFN-BUCHSE")
Active1 = Checkbutton(master, variable=Var)
Model1.grid(row=0,column=0)
Part1.grid(row=0, column=1)
Active1.grid(row=0, column=2)
如果您想重复此操作,可以将模型和零件部分从文件中拉出,然后创建一个for loop
,创建一个包含标签的list
。
然后,您可以使用for loop
对标签进行网格化,如下所示:
for Counter1 in range(0, NumberOfRows)
Model[Counter1].grid(row=Counter1, column=0)
Part[Counter1].grid(row=Counter1, column=1)
Checkbutton.grid(row=Counter1, column=2)
有些事情,只需要做一些调整,其中Model[]
类似于[F45, F46, F47...]
和Part[]
[AUFN-BUCHSE, AUFN-BUCHSE-BOLZEN...]
再一次,您可能需要稍微调整一下我的代码,不确定它是否符合您的要求,但所有这些都取决于列表框是否完全必要。
如果你想在gird方法上阅读更多内容,请查看:
http://effbot.org/tkinterbook/grid.htm