按钮命令中的参数用于更改全局变量值python tkinter

时间:2017-11-24 10:53:17

标签: python button tkinter global-variables

我试图获得一组按钮来改变我的全局变量" 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()

1 个答案:

答案 0 :(得分:2)

更改set的值时,您需要使用StringVar方法。

与替换:

y = value

使用:

y.set(value)