Я передаю виджет Entry StringVal в функцию, которая просматривает то, что вы печатаете на другом модуле.т.е. a1 = 123456. Когда я набираю «a1» в виджете «Ввод», моя функция возвращает только «a1», а не соответствующее ей значение «123456».Я не знаю, как заставить функцию def userd настроить метку как 123456, а не как a1.
from tkinter import *
class App(Frame):
def __init__(self, master):
super(App, self).__init__(master)
self.grid()
self.create_widgets()
def create_widgets(self):
a1 = 123456
a2 = 456789
a3 = 789456
self.Userin = StringVar()
self.user_input = Entry(self, insertwidth=0, width=30,
textvariable=self.Userin)
self.user_input.grid(row=2)
self.user_input.insert(0, "0")
self.bttn1 = Button(self, padx = 15, pady = 15, text = "Call A1",
command = lambda: self.getdata(a1))
self.bttn1.grid(row = 0, column = 0)
self.bttn2 = Button(self, padx=15, pady=15, text="Call your entry",
command=lambda: self.userd(self.Userin.get()))
self.bttn2.grid(row=0, column=1)
self.label = Label(self,bg = "white", padx = 35, pady = 25, text = "***")
self.label.grid(row = 1)
def userd(self,xxx):
self.label.configure(text = xxx)
def getdata(self,row):
self.label.configure(text = row)
root = Tk()
root.geometry("300x150")
App(root)
root.mainloop()