有没有办法让Tkinter文本小部件中当前可以看到哪些行?我正在尝试制作一个滚动条 .
目前我正在尝试使用其他滚动方法(即箭头键和滚轮)协调我的滚动条 . 因此,当我使用箭头键或鼠标滚动时,我的栏也会滚动 .
您可以使用索引 @x,y (例如: @0,0 表示左上角可见字符)获取像素位置处的字符(以及行号) . 由于您知道窗口小部件的宽度和高度(使用 winfo_width 和 winfo height 方法),因此您也可以计算窗口小部件底部的行 .
@x,y
@0,0
winfo_width
winfo height
您还可以使用 yview 方法获取视图中文本的相对部分(例如:值为.5表示您已经在文档的一半)
yview
为什么要制作自己的滚动条?只需使用已存在的那个:http://www.tkdocs.com/tutorial/morewidgets.html
基本上,您使用窗口小部件的yview / xview方法查找可见的内容,例如,请参阅yview的文档 . http://www.tcl.tk/man/tcl8.4/TkCmd/text.htm#M146
有关滚动条的更多详细信息,请参阅:http://wiki.tcl.tk/1455
请参阅http://effbot.org/zone/tkinter-scrollbar-patterns.htm
这包含有关Scrollbar类如何工作的信息 .
如果你想要实现自己的滚动条,你只需要向文本框发送消息,告诉你在该范围内的位置(0,1),它将返回一条消息,告诉它定位的范围 .
3 回答
您可以使用索引
@x,y
(例如:@0,0
表示左上角可见字符)获取像素位置处的字符(以及行号) . 由于您知道窗口小部件的宽度和高度(使用winfo_width
和winfo height
方法),因此您也可以计算窗口小部件底部的行 .您还可以使用
yview
方法获取视图中文本的相对部分(例如:值为.5表示您已经在文档的一半)为什么要制作自己的滚动条?只需使用已存在的那个:http://www.tkdocs.com/tutorial/morewidgets.html
基本上,您使用窗口小部件的yview / xview方法查找可见的内容,例如,请参阅yview的文档 . http://www.tcl.tk/man/tcl8.4/TkCmd/text.htm#M146
有关滚动条的更多详细信息,请参阅:http://wiki.tcl.tk/1455
请参阅http://effbot.org/zone/tkinter-scrollbar-patterns.htm
这包含有关Scrollbar类如何工作的信息 .
如果你想要实现自己的滚动条,你只需要向文本框发送消息,告诉你在该范围内的位置(0,1),它将返回一条消息,告诉它定位的范围 .