Python 3, Tkinter, Wie der update-button text
Ich versuche es so zu machen, dass, wenn der Benutzer auf eine Schaltfläche klickt, wird es "X" oder "0" (Je nach team). Wie kann ich es so machen, dass der text auf der Schaltfläche wird aktualisiert? Meine beste Idee war bisher löschen die Schaltflächen drucken Sie Sie wieder, aber das löscht nur einem Knopfdruck. Hier ist, was ich habe, so weit:
from tkinter import *
BoardValue = ["-","-","-","-","-","-","-","-","-"]
window = Tk()
window.title("Noughts And Crosses")
window.geometry("10x200")
v = StringVar()
Label(window, textvariable=v,pady=10).pack()
v.set("Noughts And Crosses")
def DrawBoard():
for i, b in enumerate(BoardValue):
global btn
if i%3 == 0:
row_frame = Frame(window)
row_frame.pack(side="top")
btn = Button(row_frame, text=b, relief=GROOVE, width=2, command = lambda: PlayMove())
btn.pack(side="left")
def PlayMove():
BoardValue[0] = "X"
btn.destroy()
DrawBoard()
DrawBoard()
window.mainloop()
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem Button-widget, genau wie Ihre Label, hat auch eine
textvariable=
option. Sie könnenStringVar.set()
aktualisieren Sie die Taste. Minimal-Beispiel:tk.StringVar
für jeden Button. Look at effbot.org/tkinterbook/variable.htmconfigure
Methode der-Taste, ohne eineStringVar
. Während der VerwendungStringVar
wird die Arbeit, es ist das hinzufügen eines zusätzlichen Objekts zu erhalten, ohne zusätzlichen nutzen.Fazit dieser thread.
button.config
undbutton.configure
sind beide gearbeitet!.btn
ist nur ein Wörterbuch von Werten, mal sehen was kommt bis dann:Wie Sie sehen können, es ist ein großes Wörterbuch der Werte, so dass, wenn Sie möchten, ändern Sie eine beliebige Taste, einfach das zu tun:
Das ist es wirklich!!!!
Wird es automatisch ändern Sie den text auf der Taste, auch wenn Sie sich im LEERLAUF!
verwenden
myButtonObject["text"] = "Hello World"
python 3
python 2
Weitere Möglichkeit ist die btn.configure (- text="neuer text"), wie diese:
Ich denke, der code wird für Sie nützlich sein.