Tkinter文本控件中的可见行数
有没有办法知道在Tkinter的文本框里,当前有哪些行是可见的?我正在尝试制作一个滚动条。
现在我想把我的滚动条和其他滚动方式(比如箭头键和鼠标滚轮)协调起来。这样当我用箭头键或鼠标滚动的时候,我的滚动条也能一起滚动。
3 个回答
1
为什么要自己做滚动条呢?直接用现成的就行了:
基本上,你可以使用一个小部件的yview/xview方法来查看哪些内容是可见的,具体可以参考yview的文档。
想了解更多关于滚动条的细节,可以查看这个链接:
1
请查看 http://effbot.org/zone/tkinter-scrollbar-patterns.htm
这里有关于滚动条类是如何工作的资料。
如果你想自己实现一个滚动条,只需要向文本框发送你在范围(0,1)中的位置消息,它会返回一个消息告诉你它正在针对哪个范围。
5
你可以通过一个像 @x,y
这样的索引来获取某个像素位置上的字符(也就是行号),比如说 @0,0
就是最左上角的可见字符。因为你知道这个小部件的宽度和高度(可以用 winfo_width
和 winfo_height
方法来获取),所以你也可以计算出在小部件底部的行数。
另外,你还可以使用 yview
方法来获取当前可见文本的相对位置,比如说值为 .5 就意味着你已经浏览到文档的一半了。