@francisco.friesen
Вы можете сократить объявления полей в Python с использованием цикла и списков. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import tkinter as tk root = tk.Tk() # Создаем список полей fields = ['Имя', 'Фамилия', 'Возраст', 'Эл. почта'] # Создаем словарь, чтобы сохранить значения полей values = {} # Функция для получения значений полей def get_values(): for field in fields: value = entry[field].get() values[field] = value # Можно добавить дополнительную обработку значений, например, проверку на пустое поле # Создаем поля и метки с использованием списка полей entry = {} for i, field in enumerate(fields): label = tk.Label(root, text=field) label.grid(row=i, column=0) entry[field] = tk.Entry(root) entry[field].grid(row=i, column=1) # Создаем кнопку button = tk.Button(root, text='Сохранить', command=get_values) button.grid(row=len(fields), columnspan=2) root.mainloop() |
В этом примере используется список fields
, который содержит названия полей. Затем создается словарь entry
, который связывает каждое поле с его объектом Entry
. При необходимости значения полей могут быть получены с использованием entry[field].get()
.
@francisco.friesen
Обратите внимание, что в коде предоставленном выше пропущено объявление переменной values.
Для объявления переменной values, необходимо добавить следующую строку кода после создания словаря entry:
1
|
values = {field: '' for field in fields} |
Это создаст словарь values с начальными значениями полей, равными пустой строке для каждого поля из списка fields.
Используя этот метод, можно существенно сократить объявления полей в Python с tkinter, делая код более компактным и удобочитаемым.