我在Linux下用Python开发了一个程序,一切正常,但在windows下不行。。我在W10。你知道吗
我有一个Pyside Qt窗口,左边是一个灰色背景的Qpushbutton框架,右边是一个空的png图像,以获得半透明的背景。我用它来绘制这个区域的点,通过可视化后面的其他窗口。你知道吗
这是我的密码
def initUI(self):
# Taille Fenêtre
self.resize(500, 500)
# Centrage + plein ecran
size_ecran = QDesktopWidget().screenGeometry()
size_fenetre = self.geometry()
self.move((size_ecran.width()-size_fenetre.width())/2, (size_ecran.height()-size_fenetre.height())/2)
# self.resize(size_ecran.width(), size_ecran.height())
hbox = QHBoxLayout(self)
vbox1 = QVBoxLayout()
vbox2 = QVBoxLayout()
self._frameLeft = QFrame(self)
self._frameLeft.setFrameShape(QFrame.StyledPanel)
# Calcul Courbe
self._btnCurve = QPushButton(listeNameButton[0])
self._btnCurve.setIcon(QIcon('ico/curve.png'))
self._btnCurve.setIconSize(QSize(55,55))
self._btnCurve.clicked.connect(self.evtCurve)
vbox1.addWidget(self._btnCurve)
这在Linux(Ubuntu)上有效,而不是在Windows上:正确的部分是黑色的。 我试过了自身不透明窗口,但整个窗户是半透明的,不仅仅是右侧。你知道吗?你知道吗
谢谢
# Transparence
size_fenetre = self.geometry()
size_button = self._btnCurve.geometry()
self._frameLeft.setStyleSheet("background-color:grey;")
self._frameLeft.setStyleSheet("border: none;")
self._frameLeft.setGeometry(0,0,size_button.width()+50, size_fenetre.height())
self._draw = QLabel(self)
self._drawempty = QPixmap("ico/imgvide.png")
self._drawempty =self._drawempty.scaled((size_button.width())*1.5,size_fenetre.height())
self._draw.setStyleSheet("background:transparent;")
self._draw.setPixmap(self._drawempty)
vbox2.addWidget(self._draw)
hbox.addLayout(vbox1)
hbox.addLayout(vbox2)
self.setLayout(hbox)
self.setAttribute(Qt.WA_TranslucentBackground)
我只是一个黑背景Qt.WA\u半透明背景,不是半透明的。你如何管理这个?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐