On Sun, 30 Nov 2008 15:12:34 -0500, Ron Longo wrote: > I've implemented my own drag operation in a view class. In my > mousePressEvent() I setup for possible drag event (e.g. save the location > of the mouse press). In mouseMoveEvent() if a drag is started (mouse > button pressed and mouse moved) I initiate a drag event. In this method I > create a QDrag object then call its exec_() method.
OK, sounds good so far. > During the drag operation I repeatedly get calls to my dragMoveEvent(). In > this method, I want to check the position of the mouse cursor and update > the status bar to provide user feedback. I do this by calling > self.setStatusTip(). Have you tried calling self.statusBar().showMessage() instead? > When I run my application and perform a drag, I see nothing until the drag > is completed. I then see the status bar updated with the text passed to > the last call made to setStatusTip(). If the above suggestion works then I have an idea why self.setStatusTip() does not; otherwise, some more investigation will be required. :-) > The call to QDrag's exec_() method takes control of the drag operation > until the drag is completed. Once the drag is completed exec_() returns. > Is exec_() crating a separate event loop? Is there any way to force the > main event loop to update the GUI so that my status message will appear > during the drag operation? exec_() is creating an event loop, but events should still be delivered to the window. It could just be that changing the status tip on its own isn't enough to display a new message. David _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
