Bonjour,
je souhaiterais qu'une frame soit à 50% transparente lorsqu'elle n'est pas active, j'ai donc essayé le surclassage de focusInEvent ci-dessous mais il ne fonctionne pas. Quelqu'un voit-il pourquoi ?

J'indique juste que la frame est appelée par une fenêtre lors d'une application comme dans l'exemple suivant : voir ici .

Une autre solution me conviendrait aussi bien entendu.

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
class MyFrame(QtGui.QFrame):
    def __init__(self, parent, titre, pixmapfile):
        QtGui.QFrame.__init__(self, parent, QtCore.Qt.Tool)
        self.setWindowTitle(titre)
        rect = QtCore.QRect(QtGui.QCursor.pos(), pixmapfile.size())
        self.setGeometry(rect)
        self.setFixedSize(pixmapfile.size())
 
        label = QtGui.QLabel(self)
        label.setPixmap(pixmapfile)
        label.show()
 
    def focusInEvent(self, event):
        if event==QtGui.QFocusEvent().lostFocus():
            self.setWindowOpacity(0.5)