python - Tkinter |如何检测接近末尾的 tkinter 滚动条位置

标签 python tkinter scrollbar infinite-scroll

我知道,如果我将滚动条控制的框架绑定(bind)到函数 ( onFrameConfigure ),您可以获得滚动条位置,如下所示:self.calendar_frame.bind("<Configure>", self.onFrameConfigure) , 以及来自 eventonFrameConfigure(self, event):我可以得到 一些 滚动条的 x 值 event.x .我认为这个值是以 px 为单位显示滚动条的位置,所以如果我滚动到最大右侧,我应该得到与滚动条宽度相同的值(或相似的值),但是从下面的测试中我得到了否则:

event.x: -640 | scrollbar.winfo_width(): 382
event.x: -415 | scrollbar.winfo_width(): 607
event.x: -245 | scrollbar.winfo_width(): 777
event.x: -713 | scrollbar.winfo_width(): 309

(以上结果仅当滚动条到最右边时)

看不到任何方法可以使用这些值来确定滚动条是否在右端

我的问题是:如何检测滚动条何时到达滚动条末端之一的末端?

更好的方法是检测滚动条何时接近结束,因为出于我的目的(在这里阅读我的项目的目的:here)我需要在滚动条到达之前触发一些东西它最大的结束。

最佳答案

tkinter 滚动条 (more info) 有一个简单的获取方法,可以像这样使用:scrollbar.get()。每当用户移动滚动条时,我都会检查 if scrollbar.get()[1] > 0.9:。使用这种方法,我可以在滚动条关闭最右边位置时执行我的操作。

关于python - Tkinter |如何检测接近末尾的 tkinter 滚动条位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53896944/

相关文章:

python - 如何通过从用户输入中删除哪个值来从列表(整数和字符串)中删除整数?

multithreading - 如何在 Python 中接收线程回调

python-3.x - Tkinter:使用 after() 使函数定期运行

css - HTML 和 CSS - 如何强制隐藏滚动条,但仍允许滚动?

python - PyQt向MainWindow添加滚动条

python - IPython 自动重新加载子目录中的更改

python - 与谷歌附近搜索的距离

javascript - Fancybox 不考虑滚动条宽度

python - 如何在Python中平滑信号统计上的正确性?

Python:Tkinter 消息框 - 错误处理