Bonjour,
voici mon problème du jour. La classe suivante définit une frame :
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 ?
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)
Toute info. est la bienvenue.
Partager