您的位置:首页 > 其它

小白学tkinter(Text组件)

2017-08-11 16:29 330 查看

text组件主要用于显示多行文本,但也常常用作简单的文本编辑器和网页浏览器。

一、实现最基本的功能以及插入文本、图片和window组件,可以使用windows_create()和image_create()方法。

windows_create(index,**options)

–在index参数指定的位置嵌入一个window对象

–支持两种方式在Text组件中嵌入window对象:看下方create选项和window选项的描述

–可选项create:设定一个回调函数用于创建嵌入的window组件,该函数没有参数,并且必须创建Text的子组件并返回

–可选项window:指定一个已经创建好的window组件,该组件必须是Text组件的子组件

image_create(index,cnf={},**kw)

–在index参数指定的位置嵌入一个image对象

–该image对象必须是Tkinter的PhotoImage或BitmapImage实例

from tkinter import *
root = Tk()
text = Text(root,width = 30,height = 10) #height是行数,这么理解吧
text.pack()
#1、可以插入文本:用insert()方法插入,
#用INSERT(这个指的是光标所在的位置)或END作为索引号
text.insert(INSERT,'I love python.\n')
text.insert(END,'I love java.')
#2、可以插入image对象和windows组件
photo = PhotoImage(file = 'timg.gif')#生成一个图像对象
def show():
text.image_create(END,image = photo) #text调用image_create方法插入image
#第一个参数是位置,第二个是对象名称

b1 = Button(root,text = '点我点我!~',command = show)
text.window_create(INSERT,window = b1) #插入一个window组件
mainloop()


二、删除Text组件中的内容可以使用delete()方法

删除Text组件中的内容可以使用delete()方法

text.delete(1.0,END)

Text组件还支持“恢复”和“撤销”操作,通过设置undo选项为True可以开启Text组件的“撤销功能”,然后用edit_undo()方法实现“撤销”操作,用edit_redo()方法实现“恢复”操作

默认情况下每一次完整的操作将会放入栈中(Tkinter中每次焦点切换、用户按下Enter键、删除/插入操作的转换等之前的操作算是一次完整的操作)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tkinter 文本编辑