Python Tkinter Text文本

Python Tkinter Text文本

Text(多行文本框)的主要用于显示多行文本,还可以显示网页链接,图片,HTML页面,甚至 CSS样式表,添加组件等。
因此,也常被当做简单的文本处理器、文本编辑器或者网页浏览器来使用。比如IDLE就是Text组件构成的。

  1. Text小部件用于显示Python应用程序上的文本数据。其次,Tkinter为我们提供了Entry小部件,用于实现单行文本框

  2. “文本”小组件用于显示具有各种样式和属性的多行格式化文本。 Text小部件主要用于向用户提供文本编辑器。

  3. Text小部件还便于我们使用标记和选项卡来定位Text的特定部分。我们还可以使用带有文本的窗口和图像,因为它也可以用于显示格式化文本。

  4. 语法

textpad = Text(top, options)  
  1. 可以与Text小部件一起使用的可能选项列表
选项 描述
bg 小部件的背景颜色
bd 它表示小部件的边框宽度
cuesor 鼠标指针变为指定的光标类型,即箭头,点等
exportselection 所选文本将导出到窗口管理器中的选择。如果我们不希望导出文本,我们可以将其设置为0。
font 文本的字体类型
fg 小部件的文本颜色。
width 它表示小部件的宽度(以字符为单位)
height 窗口小部件的垂直尺寸。
highlightbackground 小部件没有焦点时的高亮颜色
highlightthickness 焦点高光的厚度。默认值为1。
highlighcolor 当小部件具有焦点时焦点的颜色突出显示
insertbackground 它表示插入光标的颜色
insertborderwidth 它表示光标周围边框的宽度。默认值为0。
insertofftime 插入光标在闪烁周期中关闭的时间量(毫秒)
insertontime 插入光标在闪烁周期中开启的时间量(以毫秒为单位)
insertwidth 它表示插入光标的宽度
padx 小部件的水平填充。
pady 小部件的垂直填充
relief 边界的类型。 SUNKEN默认为
selectbackground 所选文本的背景颜色
selectborderwidth 所选文本周围边框的宽度。
spacing1 它指定文本每行上方给出的垂直空间量。默认值为0
spacing2 此选项指定在逻辑行换行时在显示的文本行之间添加多少额外垂直空间。默认值为0
spacing3 它指定要在文本的每一行下面插入的垂直空间量
state 状态设置为DISABLED,窗口小部件对鼠标和键盘没有响应无响应
tabs 此选项控制制表符如何用于定位文本
wrap 此选项用于将较宽的行包装成多行。将此选项设置为WORD以将行包装在适合可用空间的单词之后。默认值为CHAR,它会破坏任何字符都过宽的行
xscrollcommand 要使Text小部件可以水平滚动,我们可以将此选项设置为Scrollbar小部件的 set()方法。
yscrollcommand 为了使Text小部件可以垂直滚动,我们可以将此选项设置为Scrollbar小部件的 set()方法。
  • 方法
方法 描述
delete(startindex,endindex) 此方法用于删除指定范围的字符
get(startindex,endindex) 返回指定范围内的字符
index(index) 它用于获取指定索引的绝对索引
insert(index,string) 用于在给定索引处插入指定的字符串。
see(index) 它返回一个布尔值true或false,具体取决于指定索引处的文本是否可见。
  • 标记处理办法
    • 标记用于为相关文本的字符之间的指定位置添加书签
方法 说明
index(mark) 用于获取指定标记的索引
mark_gravity(mark,gravity) 用于获取给定标记的重力
mark_names() 用于获取Text小部件中的所有标记
mark_set(mark,index) 用于通知给定标记的新位置
mark_unset(mark) 用于从文本中删除给定标记
  • 标签处理方法
    • 标签是给予文本单独区域的名称。标签用于分别配置文本的不同区域。下面给出了标签处理方法列表以及描述。
方法 说明
tag_add(tagname,startindex,endindex) 此方法用于标记指定范围内的字符串
tag_config 此方法用于配置标记属性
tag_delete(tagname) 此方法用于删除给定标记
tag_remove(tagname,startindex,endindex) 此方法用于从指定范围中删除标记。
  1. 示例
from tkinter import *  
  
root = Tk()  
text = Text(root)  
text.insert(INSERT, "Name.....")  
text.insert(END, "Salary.....")  
  
text.pack()  
  
text.tag_add("Write Here", "1.0", "1.4")  
text.tag_add("Click Here", "1.8", "1.13")  
  
text.tag_config("Write Here", background="yellow", foreground="black")  
text.tag_config("Click Here", background="black", foreground="white")  
  
root.mainloop()
  • 输出

posted @ 2021-05-19 09:54  阮小言  阅读(3862)  评论(0编辑  收藏  举报