我正在构建一个Python GTK应用程序,我需要听“ Ctrl +鼠标轮”事件。我想在Webview中实现“缩放”功能。我需要设置加速器吗?如果是,鼠标滚轮的键码是什么?
关于这些主题的文档并不多。
有帮助吗?
谢谢。
答案 0 :(得分:1)
由于发生了很多次,所以在发帖后我找到了解决方案:)
这里是:
在网络视图上收听“滚动事件”:
self.connect('scroll-event', self.on_scroll)
信号处理程序
def on_scroll(self, widget, event):
""" handles on scroll event"""
# Handles zoom in / zoom out on Ctrl+mouse wheel
accel_mask = Gtk.accelerator_get_default_mod_mask()
if event.state & accel_mask == Gdk.ModifierType.CONTROL_MASK:
direction = event.get_scroll_deltas()[2]
if direction > 0: # scrolling down -> zoom out
self.set_zoom_level(self.get_zoom_level() - 0.1)
else:
self.set_zoom_level(self.get_zoom_level() + 0.1)