我正在开发一个app.I希望有一个放大和缩小的选项。要执行此操作,我希望在单击控制键并同时滚动鼠标时获取程序,并相应地进行缩放(向上滚动以放大,向下滚动以缩小)我已经一直在进行大量的搜索和阅读,但只找到了控制按键和鼠标的方法点击事件,而不是鼠标滚动事件。我还找到了一种获得鼠标滚动的方法,但是无法通过控制按钮来实现它。 - 并忽略所有其他印刷机。
有人可以建议帮助我吗???
答案 0 :(得分:2)
这取决于您的应用程序的结构。
获取滚动事件的一种方法是向您的Widget添加wheelEvent
处理程序
def wheelEvent(self, QWheelEvent):
modifiers = QtGui.QApplication.keyboardModifiers()
if modifiers == QtCore.Qt.ControlModifier:
# do your processing
另一种方法可能是在你要拦截滚动事件的组件中安装eventFilter
component.viewport().installEventFilter(self)
(也许你必须在视口上的组件本身iso上安装事件过滤器。)
和self
有eventFilter
函数,如
def eventFilter(self, qobject, event):
if (event.type() == QtCore.QEvent.Wheel) :
modifiers = QtGui.QApplication.keyboardModifiers()
if modifiers == QtCore.Qt.ControlModifier:
#do some scaling stuff
return True
return False
else:
# standard event processing
return False
希望这有帮助。