【发布时间】:2021-02-21 16:24:59
【问题描述】:
好的,这个问题之前有人问过 - 但我还没有找到答案..
我正在尝试使用 QLabel 在图像之间向左/向右滑动,但我还没有通过基于 PyQt5 的应用程序接收到任何手势事件。
这是我所拥有的:
class MyViewer(QtWidgets.QLabel):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.setAttribute(QtCore.Qt.WA_AcceptTouchEvents) # just gave it a try
self.grabGesture(QtCore.Qt.SwipeGesture)
def event(self, event):
if event.type() == QtCore.QEvent.Gesture: # <= this won't happen
print("Hello event!")
return super().event(event)
我也尝试查找QtWidgets.QGestureEvent,但即使我只是打印出event.type(),我也只能看到看似与任何手势无关的事件(除了一些QToucheEvent 实例)
类似的问题是this one、this one、this one,我什至读过some documentation,但我还没有看到一个可行的例子。只有问题和示例 C++ sn-ps..
我在 Linux 和 Android 上都使用 PyQt5.15.0,但我还没有看到任何手势的痕迹。 我忘了做什么?是否必须以某种方式设置父级?
【问题讨论】:
标签: python qt pyqt swipe gesture