我想在我的RPi上创建GUI,这样我就可以像在iPhone中一样滚动列表框,而无需使用滚动条。换句话说,只需触摸列表框并向上/向下“轻弹”您的手指,我希望能够滚动。
这种滚动方法可以用TKinter或任何用于RPi的GUI完成吗?
答案 0 :(得分:1)
是的。
看看滚动条的绑定是如何工作的。
如何达到预期的效果? Bin Mouse-Move事件(触摸移动不是别的)并使用它将它连接到yview / xview,具体取决于你想要的滚动。
(例如,检查鼠标在回调中的移动方向,并使用该信息触发滚动事件。)
如果需要进一步的帮助,请告诉我们。
修改
这里有一些“虚拟代码”......
# this is your callback bound to mouse-move event
def mouse_move_callback(event):
# use event.y with a previous remembered y value to determine
# directions
directions = 1 # just as an example, could also be -1
# scroll the listbox vertically.
# to increase scrolling speed, either multiply counter by some value >1
# or replace 'units' which means scroll 1 character in the current setting
# by 'pages' for larger steps. 'pages' should scroll the visible
# area of the listbox further.
listbox.yview_scroll(1, 'units')
您还可以使用鼠标按钮和鼠标按钮释放来触发操作。按下鼠标按钮将存储y值(滚动开始),鼠标按钮释放将绑定到上述回调。