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

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。