我想在Treeview上放置一个看不见的滚动条 我使用树莓派,并有一个小触摸屏,因此我想有效地利用空间 我不得不调整我的滚动条的大小,因为我无法弄清楚如何进行“刷卡” - 在树视图中滚动 这就是为什么我现在的空间非常小,而且字体太小了 是否有任何方法可以使滚动条不可见,但在铺设另一个小部件时仍可使用,例如。地方功能?
答案 0 :(得分:1)
您不需要滚动条滚动。所有可滚动的小部件都有一个用于滚动的api:xview
和yview
方法。滚动条只是调用这些方法的一种方便方法,但它不是唯一的方法。
我不知道滑动会发送什么事件,但您可以绑定到这些事件并自行直接调用xview
和/或yview
方法。
例如,我们假设触摸是<B1>
事件,而滑动是<B1-Motion>
事件。您可以使用这样的滑动动作进行滚动:
class Example:
def __init__(self):
...
self.tree = ttk.Treeview(...)
self.tree.bind("<B1>", self.start_swipe)
self.tree.bind("<B1-Motion>", self.on_swipe)
...
def start_swipe(self, event):
self.last_y = event.y
def on_swipe(self, event):
# only do the scrolling if the swipe is 10 pixels or more
if abs(event.y - self.swipe_start) < 10:
return
# compute whether we are scrolling up or down
delta = -1 if event.y > self.last_y else 1
# remember this location for the next time this is called
self.last_y = event.y
# do the scroll
self.tree.yview_scroll(delta, "units")