Python предлагает несколько вариантов разработки графического интерфейса пользователя (GUI). Из всех методов графического интерфейса наиболее часто используется Tkinter. Python с Tkinter — это самый быстрый и простой способ создания приложений с графическим интерфейсом. Создание графического интерфейса с помощью Tkinter — это простой task.
В Python3 предустановлен Tkinter, но вы также можете установить его с помощью команды:
pip install tkinter
Пример: Теперь давайте создадим простое окно с помощью Tkinter
# creating a simple tkinter window
# if you are using python2
# use import Tkinter as tk
import tkinter as tk
root = tk.Tk()
root.title("First Tkinter Window")
root.mainloop()
Выход :
Виджет Ввода
Виджет ввода — это виджет Tkinter, используемый для ввода или отображения одной строки текста.
Синтаксис :
entry = tk.Entry(parent, options)
Параметры:
1) Parent: Родительское окно или рамка, в которой будет отображаться виджет.
2) Options: Различные опции, предоставляемые виджетом ввода, включают:
- bg: Обычный цвет фона, отображаемый за меткой и индикатором.
- bd: Размер границы вокруг индикатора. Значение по умолчанию равно 2 пикселям.
- font: Шрифт, используемый для текста.
- fg: Цвет, используемый для отображения текста.
- justify: Если текст содержит несколько строк, этот параметр определяет способ выравнивания текста: CENTER, LEFT, или RIGHT.
- relief: Со значением по умолчанию рельеф=ПЛОСКИЙ. Вы можете установить этот параметр для любого из других стилей, таких как : SUNKEN, RIGID, RAISED, GROOVE
- show: Обычно символы, которые вводит пользователь, отображаются в записи. Чтобы ввести .пароль. запись, которая повторяет каждый символ в виде звездочки, установите show=”*”.
- textvariable: Чтобы иметь возможность извлекать текущий текст из виджета ввода, необходимо установить этот параметр для экземпляра класса StringVar.
Методы: Различные методы, предоставляемые виджетом ввода, следующие:
- get(): Возвращает текущий текст записи в виде строки.
- delete(): Удаляет символы из виджета
- insert ( index, ‘name’): Вставляет строку » имя » перед символом с заданным индексом.
Пример:
# Program to make a simple
# login screen
import tkinter as tk
root=tk.Tk()
# setting the windows size
root.geometry("600x400")
# declaring string variable
# for storing name and password
name_var=tk.StringVar()
passw_var=tk.StringVar()
# defining a function that will
# get the name and password and
# print them on the screen
def submit():
name=name_var.get()
password=passw_var.get()
print("The name is : " + name)
print("The password is : " + password)
name_var.set("")
passw_var.set("")
# creating a label for
# name using widget Label
name_label = tk.Label(root, text = 'Username', font=('calibre',10, 'bold'))
# creating a entry for input
# name using widget Entry
name_entry = tk.Entry(root,textvariable = name_var, font=('calibre',10,'normal'))
# creating a label for password
passw_label = tk.Label(root, text = 'Password', font = ('calibre',10,'bold'))
# creating a entry for password
passw_entry=tk.Entry(root, textvariable = passw_var, font = ('calibre',10,'normal'), show = '*')
# creating a button using the widget
# Button that will call the submit function
sub_btn=tk.Button(root,text = 'Submit', command = submit)
# placing the label and entry in
# the required position using grid
# method
name_label.grid(row=0,column=0)
name_entry.grid(row=0,column=1)
passw_label.grid(row=1,column=0)
passw_entry.grid(row=1,column=1)
sub_btn.grid(row=2,column=1)
# performing an infinite loop
# for the window to display
root.mainloop()