我试图获得一组按钮来改变我的全局变量" y"的值。我对python很陌生,对tkinter来说很新。我尝试过使用lambda和类似问题的解决方案似乎无法解决这个问题。
这是我的代码:
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()
答案 0 :(得分:2)
更改set
的值时,您需要使用StringVar
方法。
与替换:
y = value
使用:
y.set(value)