【问题标题】:Tkinter Listbox and Checkboxes on same height相同高度的 Tkinter 列表框和复选框
【发布时间】:2015-03-19 16:01:59
【问题描述】:

我有 2 个彼此相邻的列表框,我尝试为这些列表框的每个条目创建一个复选框。不幸的是,我无法使复选框和列表框元素具有相同的高度/位于相同的位置,如下面的屏幕截图所示。

您知道如何修改它以使其具有类似于列表中的复选框的内容(这在 Tkinter afaik 中是不可能的)? 对于我的列表框,我使用了这个 sn-p 的自定义版本: https://stackoverflow.com/a/16056555/3429131

我希望我以一种可以理解的方式解释了我的问题。 感谢您的帮助。

【问题讨论】:

    标签: python user-interface checkbox listbox tkinter


    【解决方案1】:

    如果不是 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 会创建一个包含标签的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

    【讨论】:

    • 如果这个问题已经回答,请关闭它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 2019-04-16
    • 2016-02-20
    • 2021-09-22
    • 2011-09-24
    • 1970-01-01
    相关资源
    最近更新 更多