В этом разделе мы узнаем, как принимать пользовательский ввод и сохранять его в переменной с помощью Python Tkinter . Также мы затронем эти темы.
- Что такое переменные в Python Tkinter
- Виджет входа в Python Tkinter
Принимайте пользовательский ввод с помощью Entry Widget в Python Tkinter и сохраняйте в переменной
В этом разделе мы узнаем о переменных, а также поймем правила создания переменных Python. Важно понимать переменные, прежде чем мы сможем научиться сохранять пользовательский ввод в переменной.
- Переменные — это зарезервированные области памяти, созданные с целью хранения значений.
- Компьютер запоминает все, что хранится в переменной, и это может быть использовано в программе в любое время. Но это должно быть в рамках.
- Существует несколько правил создания переменных:
- Следует соблюдать Snake_case . Это означает, что слово должно быть разделено символами подчеркивания. Пример: player_name.
- Переменная должна начинаться с нижнего регистра или символа подчеркивания . Пример: _player_name, player_name
- В переменных разрешены только буквы , цифры и символы подчеркивания . Использование специальных символов, кроме подчеркивания, не допускается.
- Переменные чувствительны к регистру . Пример: p- слой и P- слой — это две разные переменные.
- Python имеет зарезервированные ключевые слова , такие как class, int, str и т. д. Не следует создавать переменные с именем, указанным в зарезервированном ключевом слове.
Виджет входа в Python Tkinter
Виджет Python Entry является широко используемым виджетом, поскольку он служит для получения ввода от пользователя. Поэтому, прежде чем мы сможем сохранить ввод, нам нужно научиться получать ввод от пользователя. Вы можете ознакомиться со статьей Entry Widget в Python Tkinter .
- Виджеты ввода используются для ввода данных пользователем.
- При заполнении форм, поля, в которые вы вводите данные в Entry Widget.
- Команда для создания Entry Widget
Entry(master).pack()
- Чтобы сохранить значение Entry Widget, мы используем Variables . Просто укажите любое имя перед созданием виджета, и это имя будет хранить значение ввода.
- Убедитесь, что выбранное имя соответствует правилам переменных, как указано в разделе выше о переменной.
- Позже это сохраненное значение можно получить с помощью метода get() .
- В приведенной ниже программе мы использовали все, что мы узнали до сих пор. Мы использовали переменные, виджет Entry и метод get.
Код:
В этом коде мы создали простое приложение, в котором пользователям необходимо указать имя для регистрации игрока. Они будут предоставлять ввод в виджете Entry. Значение будет храниться в переменной с именем player_name.
После нажатия на кнопку будет вызвана функция, которая извлечет значение из виджета Entry и отобразит его в виджете Label. Извлечение информации из Entry Widget выполняется с помощью метода get() .
from tkinter import * ws = Tk() ws.title("PythonGuides") ws.geometry('400x300') ws['bg'] = '#ffbf00' # Вариант 1. Вывод в Label #def printValue(): #pname = player_name.get() #Label(ws, text=f'Переменная! = ,{pname} ', pady=5, bg='#ffbf00').pack() # Вариант 2. Вывод в print #def printValue(): #pname = player_name.get() #print(pname) # Вариант 3. Вывод в Label и print def printValue(): pname = player_name.get() Label(ws, text=f'Переменная! = ,{pname} ', pady=3, bg='#ffbf00').pack() print(pname) player_name = Entry(ws) player_name.pack(pady=30) Button( ws, text="Сохрани переменную", padx=10, pady=5, command=printValue ).pack() ws.mainloop()
В варианте 1, при вводе имени «nobita» вводится в виджет ввода, и это же имя отображается с сообщением в виджете метки при нажатии кнопки. (код заккоментирован).
При 2 варианте, только выводится текст в print.
При 3 варианте, дублируется текст через print.