0
我是Python新手,無法使用包佈局。我有40個字母,我想做4行,每行包含10個字母。tkinter:如何使用包佈局
這裏是我的代碼:
import random
from tkinter import *
root = Tk()
w = Label(root, text="GAME")
w.pack(side=TOP)
# there are 40 tiles
tiles_letter = ['a', 'b', 'c', 'c', 'c', 'd', 'd', 'e', 'e', 'e', 'e', 'f', 'f', 'g', 'g', 'h', 'i', 'j', 'k', 'k', 'a', 'b', 'c', 'c', 'c', 'd', 'd', 'e', 'e', 'e', 'e', 'f', 'f', 'g', 'g', 'h', 'i', 'j', 'k', 'k']
tiles_make_word = []
def add_letter():
if not tiles_letter:
return
rand = random.choice(tiles_letter)
tiles_make_word.append(rand)
print(len(tiles_make_word))
tile_frame_column = Label(root, text=rand, bg="red", fg="white")
tile_frame_column.pack(side=LEFT, padx=5, pady=10)
tiles_letter.remove(rand) # remove that tile from list of tiles
if len(tiles_make_word) % 10 == 0:
separator = Frame(height=100)
separator.pack(fill=X, padx=5, pady=5)
root.after(500, add_letter)
root.after(500, add_letter)
root.mainloop()
問題是每一個10個字母后,它會創建一個新的行,但它沒有正確奠定了。它看起來更像是之字形或對角線,而不是直接在上面一排的下面。有人可以告訴我代碼有什麼問題,以及我可以如何解決它?我很困惑,試圖用「after」方法創建新行。也許這個錯誤與此有關。希望這很簡單。我一直堅持這幾個小時。
謝謝
謝謝!它完美的作品!感謝您的幫助和見解 – user2456977 2014-09-10 10:17:44