Python学习记录--关于Tkinter Entry(文本框)的选项、方法说明,以及一些示例。

属性(Options)

  • background(bg)
  • borderwidth(bd)
  • cursor
  • exportselection
  • font
  • foreground(fg)
  • highlightbackground
  • highlightcolor
  • highlightthickness
  • insertbackground
  • insertborderwidth
  • insertofftime
  • insertontime
  • insertwidth
  • justify
  • relief
  • selectbackground
  • selectborderwidth
  • selectforeground
  • show
  • state
  • takefocus
  • textvariable
  • width
  • xscrollcommand

background(bg)

  • Type: color
  • 说明:文本框的背景颜色

#示例 from Tkinter import * top = Tk() text = Entry(top, background = 'red') text.pack() mainloop()



borderwidth(bd)

  • Type: distance
  • 说明:文本框边框宽度

#示例 text = Entry(top, borderwidth = 3)



cursor

  • Type: cursor
  • 待定

exportselection

  • Type: flag
  • 待定

font

  • Type: font
  • 说明:文字字体。值是一个元祖,font = ('字体','字号','粗细')

#示例 text = Entry(top, font = ('Helvetica', '14', 'bold')



foreground

  • Type: color
  • 说明:文字颜色。值为颜色或为颜色代码,如:'red','#ff0000'

#示例 text = Entry(top, foreground = 'red') #正确 text = Entry(top, foreground = '#ff0000') #正确 text = Entry(top, foreground = 'ff0000') #错误,必须加上#号



highlightbackground

  • Type: color
  • 说明:文本框高亮边框颜色,当文本框未获取焦点时显示
  • 条件:highlightthickness设置有值

#示例 text = Entry(top, highlightbackground = 'red', hightlightthickness = 1)



highlightcolor

  • Type: color
  • 说明:文本框高亮边框颜色,当文本框获取焦点时显示
  • 条件:highlightthickness设置有值

#示例 text = Entry(top, highlightcolor = 'red', hightlightthickness = 1)



highlightthickness

  • Type: distance
  • 说明:文本框高亮边框宽度。(官网上说有默认值1或2,但如果不设置,实际上没有值,可能和操作系统有关系)

#示例 text = Entry(top, highlightcolor = 'red', hightlightthickness = 1)



insertbackground

  • Type: color
  • 说明:文本框光标的颜色

#示例 text = Entry(top, insertbackground = 'red')



insertborderwidth

  • Type: distance
  • 说明:文本框光标的宽度。(有问题,官网未有说明,待定)

#示例 text = Entry(top, insertborderwidth = 3)



insertofftime

  • Type: int
  • 说明:文本框光标闪烁时,消失持续时间,单位:毫秒

#示例 text = Entry(top, insertofftime = 50)



insertontime

  • Type: int
  • 说明:文本框光标闪烁时,显示持续时间,单位:毫秒

#示例 text = Entry(top, insertontime = 50)



insertwidth

  • Type: int
  • 说明:文本框光标宽度

#示例 text = Entry(top, insertwidth = 3)



justify

  • Type: const
  • 待定

relief

  • Type: const
  • 说明:文本框风格,如凹陷、凸起,值有:flat/sunken/raised/groove/ridge

#示例 text = Entry(top, relief = 'sunken')



selectbackground

  • Type: color
  • 说明:选中文字的背景颜色

#示例 text = Entry(top, selectbackground = 'red') text = Entry(top, selectbackground = '#ff0000')



selectborderwidth

  • Type: int
  • 说明:选中文字的背景边框宽度

#示例 text = Entry(top, selectborderwidth = 3)



selectforeground

  • Type: color
  • 说明:选中文字的颜色

#示例 text = Entry(top, selectforeground = 'red') text = Entry(top, selectforeground = '#ff0000')



show

  • Type: character
  • 说明:指定文本框内容显示为字符,值随意,满足字符即可。如密码可以将值设为*

#示例 text = Entry(top, show = '*')



state

  • Type: const
  • 说明:文框状态,分为只读和可写,值为:normal/disabled

#示例 text = Entry(top, state = 'normal') #可操作 text = Entry(top, state = 'disabled') #不可操作



takefocus

  • Type: flag
  • 说明:是否能用TAB键来获取焦点,默认是可以获得

#示例 待定



textvariable

  • Type: variable
  • 说明:文本框的值,是一个StringVar()对象

#示例 default_value = StringVar() default_value.set('This is a default value') text = Entry(top, textvariable = default_value)



width

  • Type: int
  • 说明:文本框宽度

#示例 text = Entry(top, width = 50)



xscrollcommand

  • Type: callback
  • 说明:回调函数

#示例 def callback(): #code text = Entry(top, command = callback)



方法(Methods)

  • insert
  • delete
  • icursor
  • get
  • index
  • selection_adjust, select_adjust
  • selection_clear, select_clear
  • selection_from, select_from
  • selection_present, select_present
  • selection_range, select_range
  • selection_to, select_to
  • scan_mark
  • scan_dragto
  • xview
  • xview_moveto, xview_scroll

insert(index, text)

向文本框中插入值,index:插入位置,text:插入值



#示例 text.insert(0, '内容一') #在文本框开始位置插入“内容一” text.insert(10, '内容二') #在文本框第10个索引位置插入“内容二” text.insert(END, '内容三') #在文本框末尾插入“内容三”



delete(index), delete(from, to)

删除文本框里直接位置值



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



icursor(index)

将光标移动到指定索引位置,只有当文框获取焦点后成立



#示例 text.icursor(10) #移动光标到索引为10的位置



get()

获取文件框的值



#示例 text.get() #返回文本框的值



index(index)

返回指定的索引值



#示例 text.index(2)



selection_adjust(index), select_adjust(index)

选中指定索引和光标所在位置之前的值



#示例 text.selection_adjust(2) #选中索引为2和光标所有位置之前的所有值



selection_clear(), select_clear()

清空文本框



#示例 text.selection_clear()



selection_from(index), select_from(index)

待定

selection_range(start, end), select_range(start, end)

选中指定索引之前的值,start必须比end小



#示例 text.selection_range(2, 10) #选中索引为2和10之前的所有值



selection_to(index), select_to(index)

选中指定索引与光标之间的值(感觉和selection_adjust差不多)



#示例 text.selection_to(2) #选中索引为2和所光标所在位置之前的值



scan_mark(x)

待定

scan_dragto(x)

待定

xview(x)

待定

下面是一个文本框的例子

python tkinter使用Entry做为文本框输入,通过textvariable绑定数据给文本框,然后中使用get函数获取内容。如果想要Enter获取内容,则需要绑定<Return>事件,代码如下:



1 from tkinter import *
 2 def rtnkey(event=None):
 3     print(e.get())
 4 root = Tk()
 5 e = StringVar()
 6 entry = Entry(root, validate='key', textvariable=e, width=50)
 7 entry.pack()
 8 entry.bind('<Return>', rtnkey)
 9 root.title('测试回车获取文本框内容')
10 root.mainloop()