Python3 Tkinter-Text

1.创建

from tkinter import *

root=Tk()

t=Text(root)
t.pack()

root.mainloop()
图片.png

2.添加文本

from tkinter import *

root=Tk()

t=Text(root)
t.insert(1.0,'0123456789')
t.insert(1.0,'ABDCEFGHIJ')
t.pack()

root.mainloop()
图片.png

3.设置添加位置

from tkinter import *

root=Tk()

t=Text(root)

for i in range(1,10):
    t.insert(1.0,'0123456789\n')

def insertText():
    t.insert(INSERT,'jcodeer')
def currentText():
    t.insert(CURRENT,'jcodeer')
def endText():
    t.insert(END,'jcodeer')
def selFirstText():
    t.insert(SEL_FIRST,'jcodeer')
def selLastText():
    t.insert(SEL_LAST,'jcodeer')

Button(root,text='insert jcodeer at INSERT',command=insertText).pack(fill=X)
Button(root,text='insert jcodeer at CURRENT',command=insertText).pack(fill=X)
Button(root,text='insert jcodeer at END',command=endText).pack(fill=X)
Button(root,text='insert jcodeer at SEL_FIRST',command=selFirstText).pack(fill=X)
Button(root,text='insert jcodeer at SEL_LAST',command=selLastText).pack(fill=X)

t.pack()

root.mainloop()
图片.png

SEL_FIRST和SEL_LAST没有选中区域会引发异常

4.文本属性

from tkinter import *

root=Tk()

t=Text(root)

t.tag_config('a',foreground='red')
t.insert(1.0,'0123456789','a')

t.pack()

root.mainloop()
图片.png

5.使用相同属性

from tkinter import *

root=Tk()

t=Text(root)

t.tag_config('a',foreground='red')
t.tag_config('b',foreground='blue')
t.insert(1.0,'0123456789',('b','a'))

t.pack()

root.mainloop()
图片.png

后创建的会覆盖掉其他的设置

6.控制tag级别

from tkinter import *

root=Tk()

t=Text(root)

t.tag_config('a',foreground='red')
t.tag_config('b',foreground='blue')
t.tag_lower('b')

t.insert(1.0,'0123456789',('b','a'))

t.pack()

root.mainloop()
图片.png

7.对文本块添加tag

from tkinter import *

root=Tk()

t=Text(root)

t.tag_config('a',foreground='red')
t.tag_config('b',foreground='blue')
t.tag_lower('b')

for i in range(10):
    t.insert(1.0,'0123456789\n')

t.tag_add('b','2.5','2.end')

t.pack()

root.mainloop()
图片.png

8.使用自定义mark添加tag

from tkinter import *

root=Tk()

t=Text(root)

t.tag_config('a',foreground='red')
t.tag_config('b',foreground='blue')
t.tag_lower('b')

for i in range(10):
    t.insert(1.0,'0123456789\n')

t.mark_set('ab','3.1')
t.mark_set('cd',END)
t.tag_add('b','ab','cd')

t.pack()

root.mainloop()
图片.png

9.使用get获取内容

from tkinter import *

root=Tk()

t=Text(root)

for i in range(10):
    t.insert(1.0,'0123456789\n')

print(t.get(1.0,2.3))
t.mark_set('ab','3.1')
t.mark_set('cd',END)
t.tag_add('b','ab','cd')
print(t.get('ab','cd'))
t.pack()

root.mainloop()
图片.png

10.删除文本

t.delete(1.0,4.0)

1.0:第一行第零列

4.0:第四行第零列

11.删除属性

t.tag_delete(‘b’)

12.插入内置属性

from tkinter import *

root=Tk()

t=Text(root)

for i in range(10):
    t.insert(1.0,'0123456789\n')

print(t.get(1.0,2.3))
t.mark_set('ab','3.1')
t.mark_set('cd',END)
t.tag_add('b','ab','cd')
print(t.get('ab','cd'))
t.insert('b.first','first')
t.insert('b.last','last')
t.pack()

root.mainloop()
图片.png

13.插入按钮

from tkinter import *

root=Tk()

t=Text(root)

for i in range(10):
    t.insert(1.0,'0123456789\n')

def printText():
    print('button in text')

bt=Button(t,text='button',command=printText)
t.window_create(2.0,window=bt)

t.pack()

root.mainloop()
图片.png

14.绑定事件

from tkinter import *

root=Tk()

t=Text(root)

for i in range(10):
    t.insert(1.0,'0123456789\n')

t.tag_config('a',foreground='blue',underline=1)
def enterTag(event):
    print('Enter event')
t.tag_bind('a','<Enter>',enterTag)
t.insert(2.0,'Enter event\n','a')

t.pack()

root.mainloop()
图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,758评论 0 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,435评论 0 5
  • 这个是写定义的比较清晰的。 北京的Bob发了一个快递到广州的Alice,途中经过了上海,上海快递中心出现了一个黑客...
    行走的肉包阅读 423评论 0 0
  • 1314520,(一生一世我爱你,) 1711234.(一心一意爱相随。) 2013,3014,(爱你一生,想你一...
    枫桥下的光阅读 1,535评论 0 7