Форум сайта python.su
Стандартно, можно получить значение путем:
self.test= StringVar() self.test_entry= Entry(place, textvariable=self.test) self.test.get()
Отредактировано gmaksim (Июль 21, 2017 11:30:46)
Офлайн
Засуньте набор однотипных элементов в список, тогда у вас будут доступны ссылки на любой элемент как на член списка
Офлайн
Это собственно первое, что пришло в голову, но не понимаю, как это корректно реализовать.
Примерно так “раскидываются” entry по GUI:
y = .15 for i in self.test_len: z = 0 x = .01 while z != i: self.test= StringVar() self.test_entry = Entry(place, textvariable=self.test) self.test_entry .place(relx=x, rely=y, height=25, width=80) z += 1 x += stepX y += stepY
z = 0 b = [] while z != self.test_len: c = str(self.test.get()) b.append(c) z += 1 print(b)
Отредактировано gmaksim (Июль 21, 2017 12:10:58)
Офлайн
gmaksim
У вас есть два варианта - обращаться к элементу по индексу, или обращаться к нему по имени. В первом случае вам нужен список, во втором словарь. Если у вас нет ни индекса ни словаря, то ваши элементы управления бессмысленны.
Отредактировано FishHook (Июль 21, 2017 12:19:25)
Офлайн
from Tkinter import * class Application(Frame): def createWidgets(self): for i in range(10): textfield = Entry() textfield.pack() self.text_fields.append(textfield) b = Button(text="Press me", command=self.print_all) b.pack() def print_all(self): for text_fileld in self.text_fields: print text_fileld.get() def __init__(self, master=None): Frame.__init__(self, master) self.pack() self.text_fields = [] self.createWidgets() root = Tk() app = Application(master=root) app.mainloop() root.destroy()
Отредактировано FishHook (Июль 21, 2017 12:20:21)
Офлайн
Все получилось и действительно совсем не сложно, огромное спасибо!
Отредактировано gmaksim (Июль 21, 2017 13:23:32)
Офлайн