1.创建

from tkinter import *

root=Tk()

t=Text(root)
t.pack()

root.mainloop()

2.添加文本

from tkinter import *

root=Tk()

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

root.mainloop()

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()

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()

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()

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

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()

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()

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()

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()

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()

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()

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()

 

Python3 Tkinter-Text的更多相关文章

  1. python tkinter Text

    """小白随笔,大佬勿喷""" '''tkinter —— text''' '''可选参数有: background(bg) 文本框背景色: ...

  2. Tkinter Text(文本)

         Tkinter Text(文本): 文本小部件提供先进的功能,让您编辑多行文本格式,如改变其颜色和字体的方式显示.   文本小部件提供先进的功能,让您编辑多行文本格式,如改变其颜色和字体的方 ...

  3. python3+tkinter实现的黑白棋,代码完整 100%能运行

    今天分享给大家的是采用Python3+tkinter制作而成的小项目--黑白棋 tkinter是Python内置的图形化模块,简单易用,一般的小型UI程序可以快速用它实现,具体的tkinter相关知识 ...

  4. Python3 tkinter基础 Text image 文本框中插入图片

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. Python3 tkinter基础 Text window 文本框中插入按钮

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. Python3 tkinter基础 Button text,fg 按钮上显示的文字 文字的颜色

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. python3 tkinter添加图片和文本

    在前面一篇文章基础上,使用tkinter添加图片和文本.在开始之前,我们需要安装Pillow图片库. 一.Pillow的安装 1.方法一:需要下载exe文件,根据下面图片下载和安装       下载完 ...

  8. python3 tkinter模块

    一.tkinter 1.tkinter--tool kit interface工具包接口,用于GUI(Graphical User Interface)用户图形界面, 2.python3.x把Tkin ...

  9. Python3 tkinter基础 TK title 设置窗体的标题

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  10. Python3 tkinter基础 Tk quit 点击按钮退出窗体

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

随机推荐

  1. oracle静默安装

    RHEL6+oracle11.2 无界面化命令安装如下: 1.所需安装软件包检查: yum install binutils-2.* compat-libcap1* compat-libstdc++- ...

  2. JavaScript面向对象(封装)

    阮一峰的网络日志 1.生成实例对象的原始模式 var People = { name : '', age : '' } 根据这个原型对象生成两个实例对象 var people1 = {}; peopl ...

  3. 原生JS实现移动端的轮播效果

    首先 我们想实现的效果是在手指按下拖动的时候图片能够跟随移动(无动画效果)然后松开手指后判断图片移动的位置 和某一个值进行比较 在这里我们默认定为盒子的1/3宽度 当x轴的移动位置大于1/3的时候图片 ...

  4. spring-构建mvc工程

    SpringMVC基于模型-视图-控制器(MVC)模式实现,可以构建松耦合的web应用程序. 1.SpringMVC的请求过程 1)请求离开浏览器,并携带用户所请求的内容 2)DispatcherSe ...

  5. 使用 PlantUML 高效画图

    PlantUML 是一种程序员看了就会爱上的画图方式:自然,高效. 支持快速绘制: 时序图 类图 用例图 活动图 状态图 等等 安装教程 Intellij IDEA中安装 & 使用PlantU ...

  6. JSON与Delphi Object的互换

    Delphi自从增强了RTTI后,语言的可灵活性多大增强,Delphi的dbExpress中提供了DBXJSON,和DBXJSONReflect两个单元,可提供JSON序列化 下面的例子是实现Delp ...

  7. python 查找元素 获取元素信息 元素交互操作 执行JavaScript

    from selenium import webdriver browser = webdriver.Firefox() browser.get("https://tieba.baidu.c ...

  8. Lambda实战(多练习)

    import org.junit.Test; import java.math.BigDecimal; import java.time.LocalDate; import java.util.*; ...

  9. SAP Odata実行命令(2)

    前言 $ skiptokenは.アプリケーションに送信されるエントリ数を制限するために使用されます. 膨大な数のエントリが要求された場合.これはパフォーマンスの向上にも役立ちます.次のリンクがアプリケ ...

  10. 20145234黄斐《Java程序设计》第七周学习总结

    教材学习内容总结 Lambda语法 Lambda去可以重复,符合DRY原则,而且Lambda表达式可读性更好,操作更简单 匿名类型最大的问题就在于其冗余的语法,lambda表达式是匿名方法,它提供了轻 ...