Rumah  >  Artikel  >  pembangunan bahagian belakang  >  python3.6 tkinter之Text组件

python3.6 tkinter之Text组件

鸟救山
鸟救山asal
2020-05-21 20:52:54197semak imbas

tkinter作为Python GUI编程的标准接口,其窗口控件非常丰富,本文详细介绍其Text组件。

Text组件作为显示和处理多行文本的组件,具有非常灵活的运用方式。

其属性分为两类,包括STANDARD OPTIONS和WIDGET-SPECIFIC OPTIONS
。基本描述表格所示

STANDARD属性值 描述
background 背景颜色
borderwidth 文本控件的边框宽度。默认是1-2个像素。
cursor 文本控件的光标。默认是字符插入光标(一般是一个“I-beam”类型的光标)
exportselection 是否允许拷贝内容到剪贴板
font 字体设置及大小
foreground 前景色
highlightbackground 定义文本控件没有获得输入焦点状态下的高亮背景颜色。就是文本控件的亮边。
highlightcolor highlightbackground属性类似。不过是文本控件获得输入焦点时的边框颜色。
highlightthickness 文本控件获得输入焦点时的边框宽度。一般1-2个像素。
insertbackground 设置文本控件插入光标的颜色
insertborderwidth 插入光标的边框宽度。如果是一个非0的数值,光标会使用RAISED效果的边框。

insertofftime

insertontime

这两个属性控制插入光标闪烁效果。就是插入光标的出现和消失的时间。单位是毫秒。
insertwidth 设置插入光标的宽度。
padx x轴方向的内边距
pady y轴方向的内边距
relief 指定文本控件的边框3D效果,默认是flat,可以设置的参数;flat、groove、raised、ridge、solid、sunken
selectbackground 设置选中文本的背景颜色
selectborderwidth 设置选中区域边界宽度。
setgrid boolean类型。为True时,可以让窗口最大化,并显示整个Text控件
takefocus 定义是否可以使用Tab键移动输入焦点到该控件。

xscrollcommand

yscrollcommand

将滚动条与文本控件关联起来,处理滚动条动作。滚动条分别对应水平或者垂直滚动条。
WIDGET-SPECIFIC窗口属性 描述
autoseparators 单词之间的间隔。默认值是1
height 文本控件的高度。默认是24行。
maxundo 最大Undo的次数。默认是0。
spacing1 段前间距。
spacing2 行间距。
spacing3 段后间距。
state 定义文本控件的状态。状态有二种:NORMAL和DISABLED
tabs 定义按动Tab键时候的移动距离。
undo 开启undo/redo功能。
width 定义文本控件的宽度,单位是字符个数。
wrap 定义如何折行显示文本控件的内容

Text基本类的方法:

方法名称 描述
bbox()
返回一个描述位置及大小的元组(x,y,width,height)
compare(index1, op, index2)
返回一个逻辑比较结果
count(self, index1, index2)
计算两个索引之间相关事物的数量。
debug(self, boolean=None)

根据BOOLEAN,检查文本内部B-Tree的一致性

delete(self, index1, index2=None)
删除INDEX1和INDEX2(不包括在内)之间的字符
dlineinfo(self, index)
返回元组(x,y,width,height,baseline)
edit(self, *args)
此方法控制撤消机制和

         修改后的标志。

get(self, index1, index2=None)
返回索引INDEX1到INDEX2(不包括在内)之间的值
image_create(self, index, cnf={}, **kw)
在索引INDEX位置创建一个嵌入式图像。
index(self, index)
以line.char形式返回INDEX的索引值。
insert(self, index, chars, *args)
在index索引位置插入字符
mark_names(self)
返回所有的marks值
replace(self, index1, index2, chars, *args)
将索引index1和index2之间的值用chars替换
search(self, pattern, index)
从索引位置开始搜索正则表达式的内容
tag_add(self, tagName, index1, *args)
添加标记
tag_bind(self, tagName, sequence, func, add=None)
tag_unbind(self, tagName, sequence, funcid=None)
绑定事件和解除绑定
tag_delete(self, *tagNames)
删除标记
tag_remove(self, tagName, index1, index2=None)
移除索引之间的特定标记
window_create(self, index, cnf={}, **kw)
在索引位置创建子窗口

Text组件的应用实例。

一是简单的基本应用

from tkinter import *

class init_window():
   def __init__(self):
       self.tk = Tk()
       self.window_attritions()
   def window_attritions(self):
       self.tk.title('Text组件学习')
       self.init_data_text = Text(self.tk)
       self.init_data_text.pack()
def show():
   print('hello')
if __name__ == "__main__":
   win = init_window()
   win.tk.mainloop()

12.jpg

二是插入组件

button = Button(win.init_data_text,text='text中插入button',command=show)
win.init_data_text.window_create(INSERT,window=button)

无标题.png

三是插入图片

win.init_data_text.image_create(END,image=PhotoImage(file='1.gif'))

从上边的介绍可以看出Text组件的索引值应用非常多,下面介绍下索引值的类型

索引类型 描述
line.column 行/列
line.end 某行的末尾
INSERT 光标位置
END 文本的末尾
user-defined marks 自定义标记
user-defined tags("tag.first", "tag.last")
window coordinate("@x,y") 窗口定位

Atas ialah kandungan terperinci python3.6 tkinter之Text组件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn