【问题标题】:Preset mouse mode on pyqtgraph widget在 pyqtgraph 小部件上预设鼠标模式
【发布时间】:2020-08-11 02:28:47
【问题描述】:

我的问题很简单: 如何在 pyqtgraph 小部件中预设鼠标模式?我想让鼠标一直处于“1键模式”。最好的解决方案是禁用“三键模式”。

在 Internet 上找不到与此问题相关的任何参考资料。 这是我需要预设的屏幕截图:

我使用的是什么版本:

  • Python 3.7.2
  • PyQt5

也许您在问自己,为什么我希望它一直处于鼠标“按钮 1 模式”?好吧,我有一个可滚动窗口内的图形小部件 - 这会导致一些非常奇怪的交互 - 因此我想预设“1按钮模式”。

感谢您的所有回答!

【问题讨论】:

  • 会不会是setMouseMode()
  • 该文档中列出的任何类(PlotItem、Canvas 或 GraphicsLayout.addViewBox)中都没有我的图形小部件。因此我不能调用那个函数。
  • 即使您直接将函数调用到 PlotWidget 也无济于事 - 只是没有实现该函数。

标签: python python-3.x pyqt5 pyqtgraph


【解决方案1】:

您可以使用ViewBox.setMouseMode 执行此操作。示例:

plt = pg.PlotWidget()
plt.vb.setMouseMode(plt.vb.RectMode)

【讨论】:

  • 它会抛出一个NameError: vb。不幸的是,在我的 PlotWidget 中没有 vb 对象。我什至尝试将其命名为ViewBox - 也没有帮助。您尝试过您的解决方案并奏效了吗?
  • 啊,是的,我试过了,然后在这里翻译错了。不过,你的答案更好,
【解决方案2】:

卢克的回答为我指明了正确的方向。

最后,这只是对我有用的解决方案(有点奇怪):

graphWidget = pg.PlotWidget()
graphWidget.plotItem.getViewBox().setMouseMode(pg.ViewBox.RectMode)

【讨论】:

    猜你喜欢
    • 2021-02-10
    • 2019-11-04
    • 1970-01-01
    • 2016-12-01
    • 2020-02-19
    • 2013-04-12
    • 2015-04-03
    • 2015-07-07
    • 1970-01-01
    相关资源
    最近更新 更多