Tkinter教程之Text篇(3)

原创 2007年10月04日 19:37:00
'''Tkinter教程之Text篇(3)'''
'''14.自定义tag的两个内置属性'''''
#tag.first:tag之前插入文本,此文本不包含在这个tag中
#
tag.last:tag之后插入文本,此文本包含在这个tag中
#
 -*- coding: cp936 -*-
#
 使用tag的内置属性来插入文本
from Tkinter import *
root 
= Tk()
= 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之后进行的。
#
 在tag('b')之前插入'first'
t.insert('b.first','first')
# 在tag('b')之后插入'last'
t.insert('b.last','last')
t.pack()
root.mainloop()
# 注意:first没有使用tag('b')属性,last使用了tag('b')属性
'''15.在Text中创建按钮'''
# -*- coding: cp936 -*-
#
 使用window_create在Text内创建一widget
from Tkinter import *
root 
= Tk()
= Text(root)
for i in range(10):
    t.insert(
1.0,'0123456789 ')
def printText():
    
print 'buttin in text'
bt 
= Button(t,text = 'button',command = printText)
# 在Text内创建一个按钮
t.window_create('2.0',window = bt)
# 没有调用pack()
#
 bt.pack()
t.pack()
root.mainloop()
# 注意:使用window_create,而不是使用insert('2.0',bt);pack()也不用调用;
#
 点击这个按钮,打印出'button in text',证明这个按钮是可以正常工作的。
'''16.在Text中创建一个图像(未实现)'''
# -*- coding: cp936 -*-
#
 使用window_create在Text内创建一widget
from Tkinter import *
root 
= Tk()
= Text(root)
for i in range(10):
    t.insert(
1.0,'0123456789 ')
# 分别使用BitmapImage和PhotoImage进行测试,均没有显示出图像???
#
bm = BitmapImage('gray75')
bm = PhotoImage('c:/python.gif')
# 在Text内创建一个图像
t.image_create('2.0',image = bm)
print t.image_names()
# 打印的图像名称都是正确的
t.pack()
root.mainloop()
# 按照手册中的说明未实现这种效果,原因不知。
'''17.绑定tag与事件'''
# -*- coding: cp936 -*-
#
 使用tag_bind方法
from Tkinter import *
root 
= Tk()
= Text(root)
for i in range(10):
    t.insert(
1.0,'0123456789 ')
# 创建一个tag
t.tag_config('a',foreground = 'blue',underline = 1)
# Enter的回调函数
def enterTag(event):
    
print 'Enter event'
# 绑定tag('a')与事件('<Enter>')
t.tag_bind('a','<Enter>',enterTag)
t.insert(
2.0,'Enter event ','a')
t.pack()
root.mainloop()
# 注意:使用tag_bind绑定tag与事件,当此事件在tag上发生时便就会调用这个tag的回调函数
#
 因为使用了Enter事件,此事件含有一个参数,故将enterTag加了一个参数,程序中不使用此参数
'''18.使用edit_xxx实现编辑常用功能(未实现)'''
# -*- coding: cp936 -*-
#
 使用edit_xxx函数实现编辑常用功能
from Tkinter import *
root 
= Tk()
= Text(root)
for i in range(10):
    t.insert(
1.0,'0123456789 ')
t.pack()
# 定义回调函数
#
 撤消回调函数
def undoText():
    t.edit_undo()
# 插入文本函数
def insertText():
    t.insert(
1.0,'insert text')
Button(root,text 
= 'undo',command = undoText).pack(fill = X)
Button(root,text 
= 'insert text',command = insertText).pack(fill = X)

root.mainloop()
# 这个edit_undo方法也是不起作用,不知为何???

#author:     jcodeer
#
blog:    jcodeer.cublog.cn
#
email:    jcodeer@126.com
 

相关文章推荐

[Tkinter 教程10] Text 控件

简介及简例Text 控件用来显示多行文本. Tkinter 的 Text 控件很强大, 很灵活, 可以实现很多功能. 虽然这个控件的主要用途是显示多行文本, 但其还可以被用作简单的文本编辑器, 甚至是...

Python 3基础教程33-tkinter模块创建一个window窗体

本文开始介绍利用Python做一些GUI编程,这里先介绍如何利用tkinter模块创建一个window窗体。 # tkinter 模块创建一个窗体 from tkinter import * ''...

python3 tkinter教程

tk官网的教程学习:http://www.tkdocs.com/tutorial/firstexample.html#导入tkinter模块,以及导入ttk模块,tkinter是python结合tk的...

Python 3基础教程36-tkinter创建菜单

本文来介绍tkinter下的菜单创建过程,我们用过很多记事本软件,第一个菜单一般是File,File下面有保存,退出等按钮,第二个菜单是Edit,编辑菜单有撤销等功能。我们下面的代码大致可以模仿实现这...

Python 3基础教程34-tkinter添加一个按钮

在前面一篇文章的基础上,我们在上个窗体上添加一个按钮。 # tkinter 模块添加一个按钮 from tkinter import * ''' 开始接触桌面图形界面编程 你可以到安装路径:\li...

python-Tkinter教程之Canvas篇(2)

'''Tkinter教程之Canvas篇(2)''' '''9.创建item的tags''' # -*- coding: cp936 -*- # 使用属性tags设置item的tag # 使用...

Tkinter教程之Label篇

'''2.在label上使用内置位图 bitmap的使用方法 ''' from tkinter import * # 初始化Tk root = Tk() # 创建一个label,使用编码,到现在为止...

Tkinter教程之Scrollbar篇

'''Tkinter教程之Scrollbar篇''' #Scrollbar(滚动条),可以单独使用,但最多的还是与其它控件(Listbox,Text,Canva等)结合使用 '''1.创建一个Scro...

Tkinter教程之Grid篇

Tkinter教程之Grid篇 摘自:http://blog.csdn.net/jcodeer/archive/2007/10/06/1813196.aspx
  • gzwgf
  • gzwgf
  • 2011年04月28日 19:49
  • 287

Tkinter教程之Event篇

'''Tkinter教程之Event篇(1)''' # 事件的使用方法 '''1.测试鼠标点击(Click)事件''' # -*- coding: cp936 -*- # :鼠标左击事件 #...
  • jkhere
  • jkhere
  • 2013年03月30日 15:16
  • 1781
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tkinter教程之Text篇(3)
举报原因:
原因补充:

(最多只允许输入30个字)