@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, делая код более компактным и удобочитаемым.