[PyQt] SplashScreen and mousePressEvent

Brian Kelley kelley at eyesopen.com
Wed Apr 8 13:47:42 BST 2009


The splashscreen is probably not what you want.  You can make a QFrame and apply the following styles

 QFrame( parent, Qt.X11BypassWindowManagerHint | Qt.FramelessWindowHint |
                             Qt.WindowStaysOnTopHint       | Qt.Tool )

You will need to override the mouseClickEvent to close this window.

To place it you can get the mouse's x,y position when right clicking on the tree node and create the frame (with the appropriate images inside) and then place it appropriately.

Brian


On 4/8/09 8:41 AM, "projetmbc" <projetmbc at club-internet.fr> wrote:

Ok. Thanks a lot for the informations. I've tried another method and it
works well. Indeed I use a SplashScreen to show a single picture
associated to a node in a TreeWidget when the user does a right click on it.

A last question. Is it possible to choose the position where the
SplashScreen appears ?

Christophe.




Brian Kelley a écrit :
> First, get rid of the mousePressEvent since the Splashscreen closes by
> default when the user clicks on it. Also, make sure you start the
> event loop otherwise qt can't detect mouse events. (Note the following
> code won't stop the application, you may need to kill it afterwards)
>
> from PyQt4 import QtGui
> import sys
> app = QtGui.QApplication(sys.argv)
> pixmap = QtGui.QPixmap("splash.png")
> splash = QtGui.QSplashScreen(pixmap)
> splash.show()
> app.exec_()
>
>
> On 4/8/09 7:56 AM, "projetmbc" <projetmbc at club-internet.fr> wrote:
>
>     Hello,
>     I would like to close a splashscreen if the user clicks on it. I
>     decide
>     to subclass QtGui.QSplashScreen to do that but the following code
>     doesn't catch the mouse press event. Why ?
>
>     Best regards.
>     Christophe
>
>     ======
>     The code
>     ======
>
>     class mySplashScreen(QtGui.QSplashScreen):
>     def __init__(self, pixmap):
>     super(QtGui.QSplashScreen, self).__init__(pixmap)
>
>     def mousePressEvent(self, event):
>     print 'ok'
>
>     _______________________________________________
>     PyQt mailing list PyQt at riverbankcomputing.com
>     http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20090408/b7b6e757/attachment.html


More information about the PyQt mailing list