转:Tkinter教程之Text(2)篇
'''Tkinter教程之Text(2)篇'''
'''6.使用tag来指定文本的属性'''
#创建一个指定背景颜色的TAG
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
t = Text(root)
# 创建一个TAG,其前景色为红色
t.tag_config('a',foreground = 'red')
# 使用TAG 'a'来指定文本属性
t.insert(1.0,'0123456789','a')
t.pack()
root.mainloop()
#结果是文本颜色改变为红色了
'''7.同时使用两个文本指定同一个属性'''
#没有特别设置的话,最后创建的那个会覆盖掉其它所有的设置
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
t = Text(root)
# 创建一个TAG,其前景色为红色
t.tag_config('a',foreground = 'red')
t.tag_config('b',foreground = 'blue')
# 使用TAG 'a'来指定文本属性
t.insert(1.0,'0123456789',('b','a'))
t.pack()
root.mainloop()
# 结果是文本的颜色不是按照insert给定的顺序来设置,而是按照tag的创建顺序来设置的。
'''8.控制tag的级别'''
#使用tag_lower/tag_raise来降低或提高tag的级别
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
t = Text(root)
# 创建一个TAG,其前景色为红色
t.tag_config('a',foreground = 'red')
t.tag_config('b',foreground = 'blue')
# 使用tag_lower来降低b的级别
t.tag_lower('b')
# 使用TAG 'a'来指定文本属性
t.insert(1.0,'0123456789',('b','a'))
t.pack()
root.mainloop()
# 结果:文本内容颜色变为了红色,蓝色的作用级别小于红色了,即使是先创建了红色。
'''9.对文本块添加tag'''
# tag_add方法的使用
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
t = Text(root)
# 创建一个TAG,其前景色为蓝色
t.tag_config('b',foreground = 'blue')
# 使用tag_lower来控制tag的级别
t.tag_lower('b')
# 使用TAG 'a'来指定文本属性
for i in range(10):
t.insert(1.0,'0123456789 ')
t.tag_add('b','2.5','2.end')
t.pack()
root.mainloop()
# 先向Text中添加了10行文本,创建一tag,将第2行第6列至第二行行尾使用使用此tag
'''10.使用自定义mark对文本块添加tag'''
# -*- coding: cp936 -*-
# tag_add方法的使用
from Tkinter import *
root = Tk()
t = Text(root)
# 创建一个TAG,其前景色为蓝色
t.tag_config('b',foreground = 'blue')
# 使用tag_lower来控制tag的级别
t.tag_lower('b')
# 使用TAG 'a'来指定文本属性
for i in range(10):
t.insert(1.0,'0123456789 ')
# 自定义两个mark,并使用它们来指定添加tag的文本块
t.mark_set('ab','3.1')
t.mark_set('cd',END)
t.tag_add('b','ab','cd')
t.pack()
root.mainloop()
# 先向Text中添加了10行文本,创建两个mark('ab'和'cd'),将使用这两个tag指定文本的文本块使用此tag
'''11.使用indexes获得Text中的内容'''
# -*- coding: cp936 -*-
# 分别使用内置的indexes和自定义mark来获取文本
# get方法的使用
from Tkinter import *
root = Tk()
t = Text(root)
for i in range(10):
t.insert(1.0,'0123456789 ')
# 获得1.0-2.3的文本
print t.get('1.0','2.3')
# 自定义两个mark,并使用它们来获得文本块
t.mark_set('ab','3.1')
t.mark_set('cd',END)
print t.get('ab','cd')
t.pack()
root.mainloop()
'''12.测试delete对tag的影响'''
# -*- coding: cp936 -*-
# delete方法不会对tag造成影响,也就是说删除文本与tag没有任何关系
from Tkinter import *
root = Tk()
t = Text(root)
# 创建一个TAG,其前景色为蓝色
t.tag_config('b',foreground = 'blue')
for i in range(10):
t.insert(1.0,'0123456789 ')
# 自定义两个mark,并使用它们来指定添加tag的文本块
t.mark_set('ab','3.1')
t.mark_set('cd',END)
t.tag_add('b','ab','cd')
# 删除(1.0 - 4.0)的文本
t.delete('1.0','4.0')
t.pack()
root.mainloop()
# (1.0-4.0)的文本全部初始删除了,剩余的文本全部以蓝色显示,即还保留tag的属性
'''13.使用tag_delete对文本属性的影响'''
# -*- coding: cp936 -*-
# 使用tag_delete方法操作tag
from Tkinter import *
root = Tk()
t = Text(root)
# 创建一个TAG,其前景色为蓝色
t.tag_config('b',foreground = 'blue')
for i in range(10):
t.insert(1.0,'0123456789 ')
# 自定义两个mark,并使用它们来指定添加tag的文本块
t.mark_set('ab','3.1')
t.mark_set('cd',END)
t.tag_add('b','ab','cd')
# 删除tag 'b',注意这个操作是在tag_add之后进行的。
t.tag_delete('b')
t.pack()
root.mainloop()
最新文章
- MongoDB CURD 介绍
- 爱上MVC系列~前端验证与后端数据有效性验证
- FIR.im Weekly - 劳动节我们也没有停下来
- 你应该知道的25道Javascript面试题
- 封装Html5 Fullscreen API
- Tutorial: Facebook analytics using Power BI Desktop
- php-fpm参数调优
- Java 性能优化技巧及实战
- TableView_编辑 实例代码
- R: for installing package 'RODBC'
- Android Texting(2)Testing Fundamentals 测试基础篇
- Python写入文件,但是发现文件为空,竟然未写入!
- javascript 奇淫巧技1
- 在win7/8/10鼠标右键添加“管理员取得所有权”
- Unity-Shader-光照模型之漫反射
- PHP全栈学习笔记16
- 爬虫之进阶 twisted
- centos7设置服务为开机自启动(以crond.serivce为例)
- 在Scrapy中使用selenium
- Singer 学习十三 发现模式