2016-05-18 158 views
1

我有點用tkinter Python中的網格系統補充。任何人都可以展示如何正確使用它?列表框和標籤項目的位置不在我開始看到它們的地方。tkinter列表框和標籤位置

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

回答

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

Edit(對於列表框尺寸):

要獲取的行數在一個列表框,你可以使用.size()方法。

圖片:

enter image description here

+0

謝謝!我明白我的錯誤!順便問一下我可以再問一個問題嗎?如何在Python中我可以知道ListBox的Count。比方說,我有這樣的'if(listBox1.Items.Count == 0)'在C#中的代碼是否與此相同:'如果self.first_listbox是None:' –