Python Tkinter Entry

Python GUI编程Программирование GUI на Python

Python Tkinter Entry используется для ввода пользователями одной строки текста.

  • Если вам нужно ввести несколько строк текста, можно использоватьTextкомпонент.

  • Если вам нужно отобразить одну или несколько строк текста и не позволять пользователям изменять его, можно использовать компонентLabel.

Синтаксис

Синтаксис выглядит так:

w = Entry( master, option, ... )
  • master: родительский контейнер кнопки.

  • options: Необязательные элементы, то есть настраиваемые свойства этой кнопки. Эти параметры можно задавать в виде key = value, разделяя запятыми.

Порядковый номер Опция и описание
1

bg

Цвет фона поля ввода

2

bd

Размер границы, по умолчанию — 2 pixels

3

cursor

Настройка формы курсора, например arrow, circle, cross, plus и т. д.

4

font

Шрифт текста

5

exportselection

По умолчанию, если вы выделите текст в поле ввода, он будет скопирован в буфер обмена. Если вы хотите игнорировать эту функцию, можно установить exportselection=0.

6

fg

Цвет текста. Значением может быть название цвета или код цвета, например: 'red', '#ff0000'

7

highlightcolor

Цвет границы подсветки текстового поля, отображаемый, когда текстовое поле получает фокус

8

justify

При отображении нескольких строк текста задаёт выравнивание между разными строками. Возможные значения: LEFT, RIGHT, CENTER

9

relief

Стиль границы, задаёт 3D-эффект виджета. Варианты: FLAT, SUNKEN, RAISED, GROOVE, RIDGE. По умолчанию — FLAT.

10

selectbackground

Цвет фона выделенного текста

11

selectborderwidth

Ширина границы фона выделенного текста

12

selectforeground

Цвет выделенного текста

13

show

Задает содержимое текстового поля, отображаемое в виде символов. Значением может быть любой символ. Для паролей можно задать значение show="*"

14

state

По умолчанию state=NORMAL. Состояние текстового поля может быть только для чтения или для записи. Значения: normal/disabled

15

textvariable

Значение текстового поля, объект StringVar()

16

width

Ширина текстового поля

17

xscrollcommand

Устанавливает горизонтальную полосу прокрутки, обычно используется, когда ширина введенного пользователем содержимого больше ширины, отображаемой в текстовом поле.

Методы

В следующей таблице перечислены часто используемые методы виджета текстового поля:

Порядковый номер Метод и описание
1

delete ( first, last=None )

Удаляет значение в указанной позиции в текстовом поле

text.delete(10)      # 删除索引值为10的值
text.delete(10, 20)  # 删除索引值从10到20之前的值
text.delete(0, END)  # 删除所有值
2

get()

Получает значение текстового поля

3

icursor ( index )

Перемещает курсор в указанную позицию индекса; действует только после получения текстовым полем фокуса

4

index ( index )

Возвращает указанное значение индекса

5

insert ( index, s )

Вставляет значение в текстовое поле. index: позиция вставки, s: вставляемое значение

6

select_adjust ( index )

Выделяет значение от указанного индекса до позиции курсора

7

select_clear()

Очищает выделение в указанном виджете

8

select_from ( index )

Устанавливает позицию курсора, используя значение индекса

9

select_present()

Возвращает true, если есть выделение, иначе возвращает false.

10

select_range ( start, end )

Выбирает значение в указанных позициях индекса. start (включительно) — начальная позиция, end (исключительно) — конечная позиция. start должен быть меньше end.

11

select_to ( index )

Выделяет значения между указанным индексом и курсором

12

xview ( index )

Этот метод полезен, когда текстовое поле связано с горизонтальной полосой прокрутки.

13

xview_scroll ( number, what )

Используется для горизонтальной прокрутки текстового поля. Параметр what может быть UNITS, что прокручивает на ширину символа, или PAGES, что прокручивает на блоки виджета текстового поля. Параметр number: положительные числа прокручивают слева направо, отрицательные числа прокручивают справа налево.

Примеры

В примере нажатие кнопки отобразит сообщение:

Примеры

#!/usr/bin/python # -*- coding: UTF-8 -*- from Tkinter import * top = Tk() L1 = Label(top, text="Website name") L1.pack( side = LEFT) E1 = Entry(top, bd =5) E1.pack(side = RIGHT) top.mainloop()

Результат теста выглядит следующим образом:

Python GUI编程Программирование GUI на Python

Другие расширения