You are currently viewing Python Tkinter – Виджет ввода

Python Tkinter – Виджет ввода

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()

Выход :