我正在为我的PySide应用程序构建一个小型视频播放器,这个过程我以前在很多项目中都做过。但是,videoWidget的父窗口设置了WA_TranslucentBackground属性,这反过来导致videoWidget消失。
当前代码,阻止显示videoWidget(音频仍然播放):
class Parent(object):
def setupUi(self, Parent):
Parent.setObjectName("Main")
Parent.setWindowFlags(QtCore.Qt.FramelessWindowHint)
Parent.setAttribute(QtCore.Qt.WA_TranslucentBackground)
将正确显示videoWidget的代码:
class Parent(object):
def setupUi(self, Parent):
Parent.setObjectName("Main")
Parent.setWindowFlags(QtCore.Qt.FramelessWindowHint)
#Parent.setAttribute(QtCore.Qt.WA_TranslucentBackground)
显而易见的解决方案是没有半透明的父窗口,但如果可能的话,我真的更喜欢保持半透明窗口。这个问题有简单/已知的解决方法吗?
编辑:This帖子在C ++下探讨了这个问题;这似乎是由于QPainter的构图模式。有没有人知道如何改变Phonon的videoWidget QPainter合成模式?