Witam, chciałem stworzyć funkcje, która odświeżała by Labely czy Buttony, lecz nie umiem się odwołać do owych rzeczy.
Używając klas w nieco inny sposób, nie miałem mniejszego problemu by użyć update_idletasks(),
myapp.helmetButton.config(text=helmetSlot.item.name)
myapp.helmetButton.update_idletasks()
lecz teraz nie wiem jak się do tego zabrać.
Użyłem kodu, znalezionego w internecie, który pozwala mi zmieniać framy.
class greatGame(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (CharacterPage, PageOne, PageTwo):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(CharacterPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class CharacterPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
menucontainer = tk.Frame(self)
menucontainer.grid(column=0,row=0)
goldLabel = tk.Label(menucontainer, text="gold")
goldLabel.grid(column=4, row=1)
I to końcówka
app = greatGame()
app.mainloop()
I załóżmy, że chciałbym zmienić tekst w goldLabel z "gold" na "silver" czy cokolwiek innego. Jak sie do tego zabrać?
bo tak:
goldLabel.config(text="silver")
goldLabel.update_idletasks()
nie da rady(nie wiem jak sie odwołać do tego.)