【问题标题】:tkinter ListBox and Label positiontkinter ListBox 和标签位置
【发布时间】:2016-09-15 12:21:02
【问题描述】:

我对 tkinter Python 中的网格系统有点困惑。谁能展示如何以正确的方式制作它?! ListBox 和 Label 项目的位置不在我想看到它们的地方。

代码:

        self.third_label = Label(self, text="TEXT")
        self.third_label.grid(row=2, column=0, columnspan=4, padx=10, pady=10, sticky=W)
        self.fourth_label = Label(self, text="LONG TEXT")
        self.fourth_label.grid(row=2, column=1, columnspan=4, padx=10, pady=10, sticky=W)
        self.fifth_label = Label(self, text="SOME TEXT")
        self.fifth_label.grid(row=2, column=2, columnspan=6, padx=10, pady=10, sticky=W)
        self.sixth_label = Label(self, text="BIG TEXT")
        self.sixth_label.grid(row=2, column=3, columnspan=4, padx=10, pady=10, sticky=W)
        self.first_listbox = Listbox(self, width=40, selectmode=EXTENDED)
        self.first_listbox.grid(row=3, column=0, columnspan=4, padx=10, pady=10, sticky=W)
        self.second_listbox = Listbox(self, width=40, selectmode=EXTENDED)
        self.second_listbox.grid(row=3, column=2, columnspan=4, padx=10, pady=10, sticky=W)
        self.third_listbox = Listbox(self, width=40, selectmode=EXTENDED)
        self.third_listbox.grid(row=3, column=4, columnspan=4, padx=10, pady=10, sticky=W)
        self.fourth_listbox = Listbox(self, width=40, selectmode=EXTENDED)
        self.fourth_listbox.grid(row=3, column=6, columnspan=4, padx=10, pady=10, sticky=W)

我现在拥有的:

只是示例:

【问题讨论】:

    标签: python python-3.x tkinter listbox


    【解决方案1】:

    网格系统工作正常。问题是您的列跨度,这没有多大意义。您将小部件网格化到某些列位置,然后给它们一个列跨度,该列跨度超出了下一个小部件的网格化范围,依此类推。

    小例子:

    import string
    import tkinter as tk
    
    root = tk.Tk()
    
    for i in range(3):
        tk.Label(root, text=string.ascii_letters).grid(row=0, column=i)
        tk.Listbox(root, width=40).grid(row=1, column=i)
    
    root.mainloop()
    

    从 cmets 编辑(用于列表框大小):

    要获取列表框中的行数,您可以使用.size() 方法。

    图片:

    【讨论】:

    • 谢谢!我明白我的错误!顺便问一下,我可以再问一个问题吗?如何在 Python 中知道 ListBox 的计数。假设我在 C# 中有这样的if (listBox1.Items.Count == 0) 代码与此相同吗:if self.first_listbox is None:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多