Brian Kelley a écrit :
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" <[email protected]> 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" <[email protected]> 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 [email protected]
    > http://www.riverbankcomputing.com/mailman/listinfo/pyqt
    >



You're right. I will try to do that with a frame but the adventage of a SplashScreen is that it lives for a laps of time.

Best regards.
Christophe.

_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to