Ich versuche, eine Reihe von Schaltflächen, die den Wert meiner globalen Variable "y" ändern. Ich bin ziemlich neu bei Python und bin sehr neu bei Tkinter. Ich habe versucht, Lambda und Lösungen in ähnlichen Fragen zu verwenden schien nicht das Problem zu beheben.Argumente in Button-Befehl zu ändern globalen Variablenwert python tkinter
Hier ist mein Code:
import tkinter as tk
from tkinter import *
master=Tk()
def assignint(value):
global y
y = value
y= StringVar()
frame = Frame(master)
frame.grid(row=0, columnspan=4)
for i in range(2):
Grid.rowconfigure(master,i,weight=1)
for i in range(4):
Grid.columnconfigure(master,i,weight=1)
Button1 = Button(master,text='Fault1',command= lambda: assignint(0))
Button1.grid(row=1, column=0,sticky=N+S+E+W)
Button2 = Button(master,text='Fault2',command= lambda: assignint(1))
Button2.grid(row=1, column=1,sticky=N+S+E+W)
Button3 = Button(master,text='Fault3',command= lambda: assignint(2))
Button3.grid(row=1, column=2,sticky=N+S+E+W)
Button4= Button(master,text='Fault4',command= lambda: assignint(3))
Button4.grid(row=1, column=3,sticky=N+S+E+W)
if y.get()!='':
print('The value of y is:', y.get())
mainloop()
für print-Anweisung Ihr Zustand ausgeführt wird, bevor die Bedingung eine Chance, um wahr zu sein hat. – Nae
Gerade versucht, die if-Anweisung zu entfernen und das Problem ist immer noch gleich, der Wert von y bleibt leer – Jkind9
'y' ist leer, weil' print' ausgeführt wird, bevor Sie eine Chance haben, den Wert zu ändern. Wie in Es läuft kurz bevor Ihre GUI angezeigt wird. – Nae