[PyQt] no response for mouse event in PyQt4 4.5.4

Hans-Peter Jansen hpj at urpla.net
Tue Sep 1 08:02:06 BST 2009


Am Dienstag, 1. September 2009 schrieb Grant Tang:
> Hi,
> We have an software EMAN2 which choose PyQt4 to implement the GUI
> interface. Which works fine until recently I upgrade my PyQt4 to 4.5.4.
> After the upgrading, I lose response to all mouse event, including mouse
> clicking on a 2D/3D image and mouse wheel (I use wheel to zoom in or out
> of image). I tried PyQt4 4.5.2, still no response for all mouse event.
> The mouse works perfectly fine for PyQt4 4.4.4. I doubt all 4.5 versions
> will not work. Could somebody help?
>
> I post some pieces of code for my mouse wheel event, hope it help:
> class Main2DWindowEventHandler(BoxEventsHandler):
>     def __connect_Signals_to_slots(self):
>         QtCore.QObject.connect(self.main_2d_window.emitter(),
> QtCore.SIGNAL('mousewheel'), self.mouse_wheel())
                                               ^^
This looks wrong: calling the function, instead of leaving a reference, 
while mouse_wheel() does not look like returning any callable.

 
> class EMImage2DEmitMouseMode(EMImage2DMouseEvents):
>     def mouse_wheel(self, event):
>         seld.mediator.emit(QtCore.SIGNAL('mousewheel'), event)
          ^^^^
          self?

>
> #actual slot function
> class EMImage2DModule(EMGUIModule):
>     def weelEvent(self, event):
          ^^^^^^^^^
          wheelEvent?

>         #blah, blah
> I tried to print out message in this slot function. It prints out in
> PyQt4.4.4 but nothing got printed in PyQt4.5.*.
>
> Since it works fine with PyQt4 4.4.4 and previous versions. I doubt
> something new in 4.5.* make it not work.

If PyQt 4.5 events wouldn't work, guess how many complaints would arrive?
This is all so basic, that I doubt, the problem is in PyQt. 

Please provide  a minimum self-containing example of your issue.

Pete


More information about the PyQt mailing list