Tkinter文本小部件中的可见线
问题描述:
有什么方法可以获取Tkinter文本小部件中当前可见的线吗?我正在试着制作一个滚动条。Tkinter文本小部件中的可见线
目前我正在尝试将滚动条与其他滚动方法(即箭头键和滚轮)进行协调。所以当我用箭头键或鼠标滚动时,我的栏也滚动。
答
您可以使用索引@x,y
(例如:@0,0
为最左上角的可见字符)在像素位置处获取字符(以及行号)。由于您知道窗口小部件的宽度和高度(使用winfo_width
和winfo height
方法),因此您可以计算窗口小部件底部的哪些行。
您还可以使用yview
方法来获取在视图中的文本的相对部分(例如:.5值意味着你中途文档)
答
为什么要制作自己的滚动条?只需使用一个已经存在: http://www.tkdocs.com/tutorial/morewidgets.html
基本上你使用一个widget的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
这大约有滚动条类的工作信息。
如果你想实现你自己的滚动条,你只需要发送消息到文本框中,并且在范围(0,1)内的位置,它会返回一个消息,告诉它的目标范围。
谢谢,这是我需要的。我主要是出于美学原因制作自己的滚动条。看到您无法在Windows中更改Tkinter滚动条的外观。 – rectangletangle 2011-01-05 23:26:16