我想简单地禁用QScrollArea上的鼠标滚轮滚动,以便只通过点击右滚动条向下滚动,但我在互联网上找不到任何解决方案。在
app = QtGui.QApplication([])
sa = pg.QtGui.QScrollArea()
win = pg.GraphicsWindow()
sa.setWidget(win)
问题是我的滚动区域中有很多图形,当我试图在其中一个上滑动鼠标时,页面将与图形一起向上或向下滚动。 我找不到调用“sa”来禁用鼠标滚轮滚动的方法。在
我发现了一些关于安装事件过滤器的帖子,但我不明白在这种情况下如何使用它们。例如,我尝试使用以下方法:
^{pr2}$但我真的不明白该传递什么样的参数以及如何检查事件。在
如果你能帮我解决这个问题,先谢谢你。在
我终于用这个解决方案解决了这个问题:
你的想法是对的。事件筛选需要继承
QObject
的对象来监视相关事件。这样的对象有一个eventFilter
方法,可以重写该方法为监视的对象提供所有事件的自定义处理。如果此方法返回给定事件的True
,则不会进一步传播它。通常主窗口用于提供事件筛选,如下所示:相关问题 更多 >
编程相关推荐