Ich habe ein Problem, ein Problem für mein Programm zu lösen. Wenn ich ein transparentes Widget erstelle, das einige andere Widgets enthält, werden sie auch transparent und ich verstehe nicht warum.transparente Widgets in transparentem Rahmen pyqt5
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt
class MainFrame(QtWidgets.QWidget):
def __init__(self, parent=None):
super(MainFrame, self).__init__(parent)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setFixedSize(860, 560)
# Set the opacity
self.setWindowOpacity(1 - 50/100)
layout = QtWidgets.QHBoxLayout(self)
layout.addWidget(QtWidgets.QPushButton("TEST"))
In diesem Beispielcode wird das Widget QPushButton transparent erscheinen, es ist das gleiche mit Etiketten ist, und andere Widgets. Wie kann ich NUR für meine Klasse MainFrame Transparenz anwenden?
Edit:
hier ist, was ich habe (transparente Schaltfläche und transparent QWidget): hier ist das, was ich brauche (keine transparente Schaltfläche und transparent QWidget): Thank you very much.
Hallo, danke, aber das ist nicht genau das, was ich brauche, ich brauche immer noch das transparente Widget (nicht ganz transparent). Ich habe meine Frage bearbeitet. – SyedElec
@Darkos Wie ich am Ende meiner Antwort gesagt habe: Wenn Sie partielle Transparenz benötigen, müssen Sie das paintEvent erneut implementieren. Die Art, wie Sie es tun müssen, ist in der Verbindung am unteren Rand. – armatita
Sie haben vollkommen Recht! Ich habe es nicht versucht, vielen Dank. – SyedElec