во время практики с tkinter я столкнулся с этой проблемой. Я хочу настроить 4 разных записи, где пользователь должен ввести 4 разных значения. Проблема в том, что, когда я пытаюсь это сделать, я вписываю значение в любую запись, и значение автоматически переходит ко всем записям.
Т.е.: я набираю 4 в любой из четырех записей, и все записи получают 4.
(см. Изображение)
Это код на данный момент:
from tkinter import *
class Application(Frame):
def Check(self):
print("check result")
def createWidgets(self):
self.tile1.pack(side=RIGHT, padx=20, pady=10)
self.tile2.pack(side=RIGHT, padx=20, pady=10)
self.tile3.pack(side=RIGHT, padx=20, pady=10)
self.tile4.pack(side=RIGHT, padx=20, pady=10)
self.QUIT.pack({"side": "left", "ipadx": 20, "padx": 10, "pady": 20})
self.check.pack({"side": "left", "ipadx": 20, "padx": 10, "pady": 20})
'''
def callback(self,tile1,tile2,tile3,tile4):
self.tile1.set(self.tile1.get()[:1])
self.tile2.set(self.tile2.get()[:1])
self.tile3.set(self.tile3.get()[:1])
self.tile4.set(self.tile4.get()[:1])
'''
def __init__(self, master=None):
Frame.__init__(self, master)
self.num1 = int(0)
self.num2 = int(0)
self.num3 = int(0)
self.num4 = int(0)
self.tile1 = Entry(master=root, textvariable=self.num1, width=1)
self.tile2 = Entry(master=root, textvariable=self.num2, width=1)
self.tile3 = Entry(master=root, textvariable=self.num3, width=1)
self.tile4 = Entry(master=root, textvariable=self.num4, width=1)
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.check = Button(self)
self.check["text"] = "Check",
self.check["command"] = self.Check
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.master.title("Insertar titol")
app.master.maxsize(500, 500)
app.mainloop()
root.destroy()