Не могу поменять поведение мыши. Вобщем программа левая закрытая но Qt-шная и с питоном, поэтому вклиниваюсь в нее с помощью PySide.
В этой программе есть функция вызываемая по Shift+LMB. Я хочу чтобы она временно вызывалась просто по LMB. Поскольку временно то я сначала инсталлирую eventFilter потом убираю. Код евент фильтра:
Python
from PySide import QtGui as qtg
from PySide import QtCore as qtc
class EventFilterClass( ui.qtc.QObject ):
def eventFilter( self, obj, event ):
etype = event.type()
if etype == qtc.QEvent.MouseButtonPress:
button = event.button()
mods = event.modifiers()
if button == qtc.Qt.LeftButton and mods == qtc.Qt.NoModifier:
custom_event = qtg.QMouseEvent( etype, event.pos(), button, button, qtc.Qt.ShiftModifier)
self.app.sendEvent( obj, custom_event )
return True
elif etype == qtc.QEvent.MouseButtonRelease:
button = event.button()
mods = event.modifiers()
if button == qtc.Qt.LeftButton and mods == qtc.Qt.NoModifier:
custom_event = qtg.QMouseEvent( etype, event.pos(), button, button, qtc.Qt.ShiftModifier)
self.app.sendEvent( obj, custom_event )
return True
elif etype == qtc.QEvent.MouseMove:
button = event.button()
mods = event.modifiers()
if button == qtc.Qt.LeftButton and mods == qtc.Qt.NoModifier:
custom_event = qtg.QMouseEvent( etype, event.pos(), button, button, qtc.Qt.ShiftModifier)
self.app.sendEvent( obj, custom_event )
return True
return False
Что я делаю не так