Tkinter教程之Entry & Text 输入、文本框

2018年4月7日07:33:11 发表评论 1,517 views

Tkinter教程之Entry & Text 输入、文本框

#Entry用来输入单行文本
'''1.第一个Entry程序'''
from tkinter import *
root = Tk()
Entry(root,text = 'input your text here').pack()

#上面的代码目的是创建一个Entry对象,并在Entry上显示'input your text here',运行此代码,并没有看到文本的显示,
# 由此可知与Lable和Button不同,Entry的text属性不可以设置Entry的文本
#2.在Entry中设定初始值,使用textvariable将变量与Entry绑定
e = StringVar()
entry = Entry(root,textvariable = e,state='readonly',show='*')
e.set('input your text here')
#上面的例子中将变量e与Entry绑定,然后将e的值设置为'input your text here',程序运行时的初始值便设置了
entry.pack()
#设置为只读Entry.
#Entry的另一个比较有用的属性,设置为只读,不允许用户对它的值改变。
#设置state属性为'readonly'

#设置为密码输入框
#将Entry作为一个密码输入框来使用,即不显示用户输入的内容值,用特定符号代替。使用用属性
#show来指定。

#text文本框
t = Text(root,width=20,height=20)
t.pack()
#向Text中添加文本
#insert方法添加文本内容
t.insert(1.0,'0123456789')
t.insert(2.0,'\nABCDEFG')
#insert的第一个参数为索引;第二个为添加的内容
t.insert(END,'hello')

#这些函数使用了内置的mark:INSERT/CURRENT/END/SEL_FIRST/SEL_LAST
#几个内置的mark:
#INSERT:光标的插入点
#CURRENT:鼠标的当前位置所对应的字符位置
#END:这个Text buffer的最后一个字符
#SEL_FIRST:选中文本域的第一个字符,如果没有选中区域则会引发异常
#SEL_LAST:选中文本域的最后一个字符,如果没有选中区域则会引发 异常

#使用tag来指定文本的属性
#创建一个指定背景颜色的TAG
t.tag_config('a',foreground = 'red')
t.tag_config('b',foreground = 'blue')
t.insert(1.0,'0123456789',('b','a'))
# 使用tag_lower来降低b的级别
t.tag_lower('b')
t.tag_add('b','2.5','2.end')#将第2行第6列至第二行行尾使用使用此tag
# 获得1.0-2.3的文本
print(t.get('1.0','2.3'))
# 自定义两个mark,并使用它们来获得文本块
t.mark_set('ab','2.5')
t.mark_set('cd',END)
print(t.get('ab','cd'))
# 删除tag 'b',注意这个操作是在tag_add之后进行的。
t.tag_delete('b')
# 删除(1.0 - 4.0)的文本
t.delete('1.0','2.1')

root.mainloop()

运行结果:

Tkinter教程之Entry & Text 输入、文本框

51changxue

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: