setParent 用于设置当前控件的父级,包括以下 2 形式:
setParent(parent: QWidget) setParent(parent: QWidget, f: Qt.WindowFlags)
以下代码片段,用于将 继承 父级控件样式的当前控件,设为 无父级 的单独控件:
def styleIndependent_Method(self): self.setParent(None) self.setStyleSheet(""" QWidget{ background-color:transparent; }""")
以下代码片段,用于将 继承 父级控件样式的当前控件,设为 无父级 的半透明无边框窗口:
def windowTranslucent_Method(self): self.setParent(None) self.setStyleSheet(""" QWidget{ background-color:transparent; }""") self.setWindowFlags(Qt.FramelessWindowHint) self.setAttribute(Qt.WA_TranslucentBackground) self.setWindowIcon(QIcon("res/images/example.png")) self.setWindowTitle(self.tr("透明窗口"))
Note: 控件必需层次结构 2 层以上,层次结构少于 2 层的控件就算有设置以下属性,也可能不透明。
self.setAttribute(Qt.WA_TranslucentBackground)
无父级 子级控件独立于父级控件才能设置透明背景,否则继承父级控件样式。
以下代码片段,用于将 未继承 父级控件样式的当前控件,设为半透明无边框窗口:
def windowTranslucent_Method(self): self.setStyleSheet(""" QWidget{ background-color:transparent; }""") self.setWindowFlags(Qt.FramelessWindowHint) self.setAttribute(Qt.WA_TranslucentBackground) self.setWindowIcon(QIcon("res/images/example.png")) self.setWindowTitle(self.tr("透明窗口"))
Copyright Notice: This article is exclusive original manuscripts, copyrighted by Happy Digits Software , shall not be reproduced without permission.