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



我正在尝试获取一组按钮,以更改我的全局变量" 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()

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

如替换:

y = value

with:

y.set(value)

相关内容

  • 没有找到相关文章