【问题标题】:tkinter: How to automatically scroll using middle mouse button?tkinter:如何使用鼠标中键自动滚动?
【发布时间】:2016-02-12 04:33:02
【问题描述】:

现在我有一个实现,我使用鼠标中键进行两个操作:

  1. 通过滚动滚轮进行缩放(放大和缩小)和
  2. 滚动滚轮按钮以向左、向右、向上和向下滚动(平移)。但在这个功能中,我必须连续按住按住滚动按钮,然后才能滚动。

我想做的是:

  1. 按下并松开鼠标中键进入滚动模式。
  2. 然后,只需左右移动鼠标,上下移动鼠标,即可在各自的方向上滚动。
  3. 完成后,按下并松开鼠标中键即可退出此模式。

就像它在 MS Word 或 Chrome 浏览器中的实现方式一样。

救命!

【问题讨论】:

  • 听起来你只需要在按下中间按钮时更改<Motion>上的绑定。哪一部分给你带来了麻烦?

标签: python tkinter


【解决方案1】:

这是我相信你所追求的一个快速简单的事情。

import tkinter as tk

root = tk.Tk()

pressed = False

def onClick(event):
    global pressed
    pressed = not pressed # toggle pressed when clicked
    print('Pressed')

def onMove(event):
    if pressed:
        print(event.x, event.y)

root.bind('<Button-2>', onClick)
root.bind('<Motion>', onMove)

root.mainloop()

【讨论】:

  • 效果很好。 onclick 中的错字应该是 onClick。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-24
  • 1970-01-01
  • 2011-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多