setParent 设置父级 公共函数


setParent 用于设置当前控件的父级,包括以下 2 形式:

setParent(parent: QWidget)
 
setParent(parent: QWidget, f: Qt.WindowFlags)
					
  1. 独立样式

  2. 以下代码片段,用于将 继承 父级控件样式的当前控件,设为 无父级 的单独控件:

        def styleIndependent_Method(self):
            self.setParent(None)
            self.setStyleSheet("""
    QWidget{
        background-color:transparent;
    }""")
    						
  3. 窗口透明

  4. 以下代码片段,用于将 继承 父级控件样式的当前控件,设为 无父级 的半透明无边框窗口:

        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("透明窗口"))
    						

    注意: 控件必需层次结构 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("透明窗口"))
    						

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。