Bonjour,
voici mon problème du jour. La classe suivante définit une frame :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class MyFrame(QtGui.QFrame):
# Squelette donné par Brian Kelley sur la liste de PyQt.
    def __init__(self, parent, titre, pixmapfile, position):
        QtGui.QFrame.__init__(self, parent, QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.Tool)
#  QtCore.Qt.X11BypassWindowManagerHint | QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.Tool
        self.setWindowTitle(titre)
 
        rect=QtCore.QRect(position, QtCore.QPoint(1000,1000))
        self.setFrameRect(rect)
 
        label = QtGui.QLabel(self)
        label.setPixmap(pixmapfile)
        label.show()
 
        self.timer = QtCore.QTimer()
        self.connect( self.timer, QtCore.SIGNAL("timeout()"),
                      self,       QtCore.SLOT("hide()") )
 
    def showEvent(self, evt):
        self.timer.start(10000) # 10 seconds
        QtGui.QFrame.showEvent(self, evt)
J'aurais aimé que cette frame s'affiche là où se trouve la souris. Malheureusement, si on appelle la méthode avec position = self.mapToGlobal(QtGui.QCursor.pos()) , on n'obtient pas le résultat souhaité. Quelqu'un voit-il le problème ?

Toute info. est la bienvenue.