我一直在這個很長一段時間,我已經做了大量的研究,但沒有發現任何有用的東西。tkinter標籤在框架使用網格
我想放置標籤 - 由字母'a' - 'j'組成的框架中。每隔幾秒鐘,我想讓下一個字母出現在前一個字母的旁邊。但是會發生的是,每隔幾秒鐘,新字母就會替代之前的字母 - 這意味着我再也看不到舊字母了。我試過很多東西,沒有任何工作。有人可以幫忙嗎?
我試過在父框架內的框架內製作所有標籤的網格佈局,但它對我來說太複雜了。有沒有辦法來解決這個問題?
from tkinter import *
from ttk import *
import random
root = Tk()
# there are 10 tiles
tiles_letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
tiles_make_word = []
content = Frame(root)
frame = Frame(content, borderwidth=5, relief="ridge", width=200, height=300)
namelbl = Label(content, text="Enter words: ")
name = Entry(content)
ok = Button(content, text="Okay")
cancel = Button(content, text="Cancel")
content.grid(column=0, row=0)
frame.grid(column=0, row=0, columnspan=12, rowspan=12)
namelbl.grid(column=0, row=12)
name.grid(column=1, row=12, columnspan=2)
ok.grid(column=12, row=0)
cancel.grid(column=13, row=0)
def add_letter():
global i
i=0
if not tiles_letter:
return
rand = random.choice(tiles_letter)
tiles_make_word.append(rand)
tile_frame_column = Label(content, text=rand)
tile_frame_column.grid(column=i, row=0)
tiles_letter.remove(rand) # remove that tile from list of tiles
i=i+1
root.after(2000, add_letter)
root.after(2000, add_letter)
root.mainloop()
好,已經完成了代碼,抱歉過了好一會兒,它不是超級驚人,但你可以很容易地個性化它! – W1ll1amvl 2014-09-15 07:36:49
非常感謝!不要擔心你對我有利。我永遠感激。 – user2456977 2014-09-15 08:34:53