Positionner une QFrame précisément sur l'écran
Bonjour,
voici mon problème du jour. La classe suivante définit une frame :
Code:
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.