2011-01-05 41 views
1

有什么方法可以获取Tkinter文本小部件中当前可见的线吗?我正在试着制作一个滚动条。Tkinter文本小部件中的可见线

目前我正在尝试将滚动条与其他滚动方法(即箭头键和滚轮)进行协调。所以当我用箭头键或鼠标滚动时,我的栏也滚动。

回答

2

您可以使用索引@x,y(例如:@0,0为最左上角的可见字符)在像素位置处获取字符(以及行号)。由于您知道窗口小部件的宽度和高度(使用winfo_widthwinfo height方法),因此您可以计算窗口小部件底部的哪些行。

您还可以使用yview方法来获取在视图中的文本的相对部分(例如:.5值意味着你中途文档)

1

为什么要制作自己的滚动条?只需使用一个已经存在: 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

+0

谢谢,这是我需要的。我主要是出于美学原因制作自己的滚动条。看到您无法在Windows中更改Tkinter滚动条的外观。 – rectangletangle 2011-01-05 23:26:16