tkinter ListBox和Label位置

时间:2016-05-18 20:18:31

标签: python python-3.x tkinter listbox

我对tkinter Python中的网格系统有点了不满。任何人都可以展示如何以正确的方式制作它?! ListBox和Label项目位置不在我看到它们的地方。

CODE:

        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)

我现在拥有的: enter image description here

只是示例: enter image description here

1 个答案:

答案 0 :(得分:3)

网格系统工作正常。问题是你的专栏,这没有多大意义。您将窗口小部件网格化为某些列位置,然后为它们提供一个超出下一个窗口小部件网格的范围,等等。

小例子:

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()

从评论中编辑(对于列表框大小):

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

图像:

enter image description here