返回顶部
首页 > 资讯 > 后端开发 > Python >tkinter -- Text (2)
  • 623
分享到

tkinter -- Text (2)

tkinterText 2023-01-30 22:01:38 623人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

使用 tag 来指定文本的属性创建一个指定背景颜色的 TAG代码:import tkinter as tk root = tk.Tk() t = tk.Text(root

使用 tag 来指定文本的属性

创建一个指定背景颜色的 TAG

代码:

import tkinter as tk
root = tk.Tk()
t = tk.Text(root)
# 创建一个 TAG,其前景色为红色
t.tag_config('a', foreground='red')

# 使用 TAG 'a'来指定文本属性
t.insert(1.0, '123456789', 'a')
t.pack()
root.mainloop()

效果:

blob.png

结果是文本颜色改变为红色了



同时使用两个文本指定同一个属性

没有特别设置的话,最后创建的那个会覆盖掉其它所有的设置

代码:

import tkinter as tk
root = tk.Tk()
t = tk.Text(root)
# 创建一个 TAG,其前景色为红色
t.tag_config('a', foreground='red')
t.tag_config('b', foreground='blue')

# 使用 TAG 'a'和'b'来指定文本属性
t.insert(1.0, '123456789', ('b', 'a'))
t.pack()

结果:

blob.png

结果是文本的颜色不是按照 insert 给定的顺序来设置,而是按照 tag 的创建顺序来设置的



控制 tag 的级别

代码:

import tkinter as tk
root = tk.Tk()
t = tk.Text(root)
# 创建一个 TAG,其前景色为红色
t.tag_config('a', foreground='red')
t.tag_config('b', foreground='blue')

# 使用 tag_lower 来降低 b 的级别
t.tag_lower('b')

# 使用 TAG 'a'和'b'来指定文本属性
t.insert(1.0, '123456789', ('b', 'a'))
t.pack()
root.mainloop()

结果:

blob.png

结果:文本内容颜色变为了红色,蓝色的作用级别小于红色了,即使是先创建了红色



对文本块添加 tag

tag_add 方法的使用

代码:

import tkinter as tk
root = tk.Tk()
t = tk.Text(root)
# 创建一个 TAG,其前景色为蓝色
t.tag_config('b', foreground='blue')

# 使用 tag_lower 来降低 b 的级别
t.tag_lower('b')

# 使用 TAG 'b'来指定文本属性
for i in range(10):
    t.insert(1.0, '123456789\n')
t.tag_add('b', '2.5', '2.end')
t.pack()
root.mainloop()

效果:

blob.png

先向 Text 中添加了10行文本,创建一 tag,将第2行第6个至第二行行尾使用此 tag



使用自定义 mark 对文本块添加 tag

代码:

import tkinter as tk
root = tk.Tk()
t = tk.Text(root)
# 创建一个 TAG,其前景色为蓝色
t.tag_config('b', foreground='blue')

# 使用 tag_lower 来降低 b 的级别
t.tag_lower('b')

# 使用 TAG 'b'来指定文本属性
for i in range(10):
    t.insert(1.0, '123456789\n')

# 自定义两个 mark,并使用它们来指定添加 tag 的文本块
t.mark_set('ab', '3.1')
t.mark_set('cd', tk.END)
t.tag_add('b', 'ab', 'cd')
t.pack()
root.mainloop()

结果:

blob.png

先向 Text 中添加了10行文本,创建两个 mark('ab'和'cd'),将使用这两个 tag 指定文本的文本块使用此 tag




使用 indexes 获得 Text 中的内容

分别使用内置的 indexes 和自定义 mark 来获取文本

get 方法的使用

代码:

import tkinter as tk
root = tk.Tk()
t = tk.Text(root)
# 创建一个 TAG,其前景色为红色
t.tag_config('a', foreground='red')

# 使用 TAG 'b'来指定文本属性
for i in range(10):
    t.insert(1.0, '123456789\n', 'a')

# 获得1.0-2.3的文本
print(t.get('1.0', '2.3'))

# 自定义两个mark,并使用它们来获得文本块
t.mark_set('ab', '3.1')
t.mark_set('cd', tk.END)
print(t.get('ab', 'cd'))
t.pack()
root.mainloop()

结果:

blob.png




测试 delete 对 tag 的影响

delete 方法不会对 tag 造成影响,也就是说删除文本与 tag 没有任何关系

代码:

import tkinter as tk
root = tk.Tk()
t = tk.Text(root)
# 创建一个 TAG,其前景色为红色
t.tag_config('a', foreground='red')

# 使用 TAG 'b'来指定文本属性
for i in range(10):
    t.insert(1.0, '123456789\n', 'a')

# 自定义两个mark,并使用它们来获得文本块
t.mark_set('ab', '3.1')
t.mark_set('cd', tk.END)
t.tag_add('b', 'ab', 'cd')

# 删除(1.0 - 4.0)的文本
t.delete('1.0', '4.0')
t.pack()
root.mainloop()

效果:

blob.png

(1.0-4.0)的文本全部初始删除了,剩余的文本全部以红色显示,即还保留 tag 的属性



使用 tag_delete 对文本属性的影响

代码:

import tkinter as tk
root = tk.Tk()
t = tk.Text(root)
# 创建一个 TAG,其前景色为红色
t.tag_config('a', foreground='red')

# 使用 TAG 'b'来指定文本属性
for i in range(10):
    t.insert(1.0, '123456789\n', 'a')

# 自定义两个mark,并使用它们来获得文本块
t.mark_set('ab', '3.1')
t.mark_set('cd', tk.END)
t.tag_add('a', 'ab', 'cd')

# 删除 tag 'a',注意这个操作时在tag_add之后执行的
t.tag_delete('a')
t.pack()
root.mainloop()

结果:

blob.png

结果所有的文本没有了 tag('a')属性,即 tag_delete 会清除所有与此 tag 相关的属性,不论是之前还是之后

--结束END--

本文标题: tkinter -- Text (2)

本文链接: https://lsjlt.com/news/179110.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • tkinter -- Text (2)
    使用 tag 来指定文本的属性创建一个指定背景颜色的 TAG代码:import tkinter as tk root = tk.Tk() t = tk.Text(root...
    99+
    2023-01-30
    tkinter Text
  • tkinter -- Text(1)
    创建第一个 Text代码:import tkinter as tk root = tk.Tk() t = tk.Text(root) t.pack() root.main...
    99+
    2023-01-30
    tkinter Text
  • tkinter -- Text (3)
    自定义 tag 的两个内置属性tag.first:tag 之前插入文本,此文本不包含在这个 tag 中tag.last:tag 之后插入文本,此文本包含在这个 tag 中代码:import tkinter as ...
    99+
    2023-01-30
    tkinter Text
  • tkinter -- Canvas(2)
    创建 item 的 tags使用属性 tags 设置 item 的 tag使用 Canvas 的方法 gettags 获取指定 item 的 tags代码:import tkinter as tk root&n...
    99+
    2023-01-30
    tkinter Canvas
  • tkinter -- Event(2)
    测试离开(Leave)事件测试鼠标释放事件代码:import tkinter as tk root = tk.Tk() def printcoords(event):  ...
    99+
    2023-01-30
    tkinter Event
  • 【Python】【进阶篇】六、Tkinter的Text文本框控件
    六、Tkinter的Text文本框控件 Text 文本控件是 Tkinter 中经常使用的控件,与 Entry 控件相比,Text 控件用于显示和编辑多行文本,而 Entry 控件则适合处理单行文本。...
    99+
    2023-09-14
    python 开发语言
  • Python之tkinter文字区域Text使用及说明
    目录文字区域Text 的基本概念文字区域Text 的基本应用插入文字insert()Text 加上滚动条 Scrollbar 设计加上X轴滚动条字形familyweightsize选...
    99+
    2023-05-19
    Python tkinter tkinter文字区域 tkinter Text使用
  • Ubuntu系统下怎么安装Sublime Text 2
    本篇内容介绍了“Ubuntu系统下怎么安装Sublime Text 2”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 下载Sublime...
    99+
    2023-06-13
  • Web前端中Sublime Text 2有什么用
    这篇文章主要介绍了Web前端中Sublime Text 2有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Windows 的 Sublime 有两种版本:普通版(Nor...
    99+
    2023-06-08
  • 如何将Sublime Text 2固定到Ubuntu启动器
    本篇内容介绍了“如何将Sublime Text 2固定到Ubuntu启动器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Sublime Te...
    99+
    2023-06-13
  • python tkinter库的Text记录点击路经和删除记录详情
    目录前言对点击打开的文件路径进行记录显示记录点击的文件路径和文件夹路径记录文件路径,在text中显示,删除和关闭窗口前言 需要注意,对实例化的文本组件的insert、delet...
    99+
    2024-04-02
  • tkinter -- CheckButton
    Checkbutton 又称为多选按钮可以表示两种状态:On 和 Off,可以设置回调函数,每当点击此按钮时回调函数被调用一个简单的Checkbutton例子:示例:import tkinter as tk r...
    99+
    2023-01-30
    tkinter CheckButton
  • tkinter -- button1
    Button 功能触发事件一个简单的button应用示例:import tkinter as tk # 定义button的回调函数 def py3study():   ...
    99+
    2023-01-30
    tkinter
  • tkinter -- Entry
    Entry 用来输入单行文本示例:import tkinter as tk root = tk.Tk() tk.Entry(root, text='input &...
    99+
    2023-01-30
    tkinter Entry
  • tkinter -- RadioButton
    Radiobutton 为单选按钮,即在同一组内只能有一个按钮被选中,每当选中组内的一个按钮时,其它的按钮自动改为非选中态,与其他控件不同的是:它有组的概念不指定绑定变量,每个Radiobutton自成一组创建一个简单的Radiobutto...
    99+
    2023-01-30
    tkinter RadioButton
  • tkinter -- button2
    指定button的宽度和高度width:  宽度height: 高度使用三种方式:1 创建button对象时,指定宽度与高度2 使用属性width和height来指定宽度和高度3 使用configure方法来指定宽度与高度示例:i...
    99+
    2023-01-30
    tkinter
  • tkinter -- Scale
    Scale 为输出限定范围的数字区间,可以为之指定最大值,最小值及步距值创建一个Scale代码:import tkinter as tk root = tk.Tk() tk.Scale(ro...
    99+
    2023-01-30
    tkinter Scale
  • tkinter -- Scrollbar
    Scrollbar(滚动条),可以单独使用,但最多的还是与其它控件(Listbox,Text,Canva 等)结合使用创建一个Scrollbar代码:import tkinter as tk root&nbs...
    99+
    2023-01-30
    tkinter Scrollbar
  • tkinter -- Frame
    Frame 就是屏幕上的一块矩形区域,多是用来作为容器(container)来布局窗体创建Frame代码:import tkinter as tk root = tk.Tk() #&nbs...
    99+
    2023-01-30
    tkinter Frame
  • tkinter -- PanedWindow
    PaneWindow(面板)为一 gm,用来管理子 Widget向 PanedWindow 中添加 Pane代码:import tkinter as tk # 使用add方法 root =...
    99+
    2023-01-30
    tkinter PanedWindow
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作