Tkinter 文字区域Text的基本概念
Text的构造方法如下。
Text(master, options, ...)
Text( )方法的第一个参数是父对象,表示这个文字区域将建立在哪一个父对象内。下列是Text( )方法内其他常用的options参数。
(1)bg or background
:背景色彩。
(2)borderwidth or bd
:边界宽度,默认是2像素。
(3)cursor
:当鼠标光标在复选框上时的光标形状。
(4)exportselection
:如果执行选择操作时,所选择的字符串会自动输出至剪贴板,如果想要避免如此可以设置exportselection=0。
(5)fg or foreground
:字形色彩。
(6)font
:字形。
(7)height
:高,单位是字符高,实际高度会视字符高度而定。
(8)highlightbackground
:当文本框取得焦点时的背景颜色。
(9)highlightcolor
:当文本框取得焦点时的颜色。
(10)highlightthickness
:取得焦点时的厚度,默认值是1。
(11)insertbackground
:插入光标的颜色,默认是黑色。
(12)insertborderwidth
:围绕插入游标的3D厚度,默认是0。
(13)padx
:Text左/右框与文字最左/最右的间距。
(14)pady
:Text上/下框与文字最上/最下的间距。
(15)relief
:默认是relief=SUNKEN,可由此控制文字外框。
(16)selectbackground
:被选取字符串的背景色彩。
(17)selectborderwidth
:选取字符串时的边界厚度,默认值是1。
(18)selectforeground
:被选取字符串的前景色彩。
(19)state
:输入状态,默认是NORMAL,表示可以输入,DISABLED则是无法编辑。
(20)tab
:可设置按Tab键时,如何定位插入点。
(21)width
:Text的宽,单位是字符宽。
(22)wrap
:可控制某行文字太长时的处理,默认是wrap=CHAR,当某行文字太长时,可从字符做断行;当wrap=WORD时,只能从字做断行。
(23)xscrollcommand
:在x轴使用滚动条。
(24)yscrollcommand
:在y轴使用滚动条。
示例1
建立一个高度是2,宽度是30的Text文字区域,然后输入文字,并观察执行结果。
from tkinter import *
root = Tk()
root.title("apidemos.com")
text = Text(root,height=2,width=30)
text.pack()
root.mainloop()
执行结果,下面分别是没有输入
输入2行数据
输入3行数据的结果
从上图可以发现,若是输入文字超过两行,将导致第一行数据被隐藏,若是输入更多行将造成更多文字被隐藏,虽然可以用移动光标的方式重新看到第一行文字,但是对于不了解程序结构的人而言,还是比较容易误会Text文字区域的内容。最后要注意的是,放大窗口并不会放大Text文字区域,可参考下图。
当然,也可以重新设置第7行Text( )方法内的height和width参数,让Text文字区域可以容纳更多数据。不过至少在此读者应该可以体会如何使用Text控件建立输入多行文字的程序了。