Python tkinter - 第10章 文本控件(Text)文本位置索引

52 篇文章 129 订阅

10.2 文本控件的位置索引
文本控件因为可以编辑多行多列文字,如何定位位置就是一个重要的问题。在文本控件中,使用多种方法定位位置。

10.2.1 位置索引
(1)’行.列’(‘line.column’)
就是指定行列的方法定位。和数学里面的平面坐标是一个原理。(x,y)表示一个坐标点,(行,列)表示一个位置。比如’1.0’表示第一行的第一个字符前,’3.4’表示第三行第五个字符前的位置。注意,起始行是1,而不是0。在程序中使用字符字符串来表示。

(2)’行.end’(‘line.end’)
用’end’表示行尾。可以免去计算字符的麻烦,直接定位到一行的末尾。比如’8.end’

(3)tk.INSERT
插入光标的位置

(4)tk.CURRENT
表示最靠近鼠标指针的字符位置。注意,这个与插入是不同的。插入的位置是插入光标的位置。而当前表示的是最靠近鼠标指针的字符位置。如果按下鼠标的按钮,那么“当前”的位置就固定了,即使移动鼠标也不会改变,直到释放鼠标按键,才会更新。

(5)tk.END
文本控件的最后一个字符后面。需要说明的该索引针对的是整个文本控件,而不是当前行。

(6)tk.SEL_FIRST
如果当前文本有一块区域被选中,tk.SEL_FRIST表示选中区域第一个字符的前面位置。

(7)tk.SEL_LAST
tk.SEL_LAST表示选中区域最后一个字符后面的位置。

(8)’标识名字’(‘markname’)
具体的使用方法是先定义一个标识。然后用这个标识来作为索引。

(9)‘tag.first’
定义tag来标识一个区域。tag.frist就是该区域的起始位置。

(10)‘tag.last’
tag代表区域的最后位置

(11)‘@x,y’
最靠近坐标(x,y)的位置。

(12)+n chars
向前移动n个字符。比如,’2.3+5 chars’ 或者’2.3+5c’ 表示第二行,第8个字符的位置(3+5=8)

(13)-n chars
向后移动n个字符

(14)+n lines
向前移动n行

(15)-n lines
向后移动n行

(16)linestart
移动到行首

(17)lineend
移动到行尾

(18)wordstart
移动到单词的第一个字符前。

10.2.2 mark
mark把’行.列’定义成一个标识。相当于一个别名。mark的名字可以是任意的字符串,但不能含有空格以及’.’。具体的mark的用法见10.3节有关mark的方法。

10.2.3 tags
tags是标识一个特定的区域。同一区域可以有不同的tag名字。有了tag就可以设置字体、颜色、大小等等。与mark区别在于:mark是标识了一个点,而tag是标识了一个区域。有关tag的具体用法请参考10.3节有关tag的方法。

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值