Python2 Tkinter 文本框(Entry)

Python GUI编程Python GUI编程

Python Tkinter 文本框用来让用户输入一行文本字符串。

  • 你如果需要输入多行文本,可以使用 Text 组件。

  • 你如果需要显示一行或多行文本且不允许用户修改,你可以使用 Label 组件。

语法

语法格式如下:

w = Entry( master, option, ... )
  • master: 按钮的父容器。

  • options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。

序号 可选项 & 描述
1

bg

输入框背景颜色

2

bd

边框的大小,默认为 2 个像素

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 )

设置光标的位置,通过索引值 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="网站名")
L1.pack( side = LEFT)
E1 = Entry(top, bd =5)
E1.pack(side = RIGHT)
 
top.mainloop()

测试输出结果如下:

Python GUI编程Python GUI编程