繼承 QObject-->QWidget-->QFrame
是一個基類, 可以選擇直接使用,主要是用來控制一些邊框樣式:例如:凸起、凹下、陰影、線寬
QFrame對象效果對照圖:
import sys from PyQt5.QtWidgets import QApplication, QWidget,QFrame from PyQt5.QtCore import QRect class Demo(QWidget): def __init__(self): super().__init__() self.resize(300,300) frame=QFrame(self) #創建實例 frame.resize(100,100) frame.move(100,50) #注意:此時是看不到控件的 frame.setStyleSheet('background-color:red;') #設置背景色 frame.setFrameShape(QFrame.Box) #設置框架形狀 #QFrame.NoFrame QFrame什么都沒畫 #QFrame.Box=1 QFrame圍繞其內容繪制一個框 #QFrame.Panel=2 QFrame繪制一個面板,使內容顯得凸起或凹陷 #QFrame.HLine QFrame繪制一條沒有框架的水平線(用作分隔符) #QFrame.VLine QFrame繪制一條無框架的垂直線(用作分隔符) #QFrame.StyledPanel 繪制一個矩形面板,其外觀取決於當前的GUI樣式。它可以升起或凹陷 #QFrame.WinPanel 繪制一個可以像Windows 2000中那樣凸起或凹陷的矩形面板。指定此形狀可將線寬設置為2像素。WinPanel是為了兼容性而提供的。對於GUI樣式獨立性,建議使用StyledPanel。 s=frame.frameShape() #返回框架形狀,一個整數值 print(s) frame.setFrameShadow(QFrame.Sunken) #設置框架陰影 #QFrame.Plain 框架和內容與周圍環境呈現水平;(沒有任何3D效果) #QFrame.Raised=32 框架和內容出現; 使用當前顏色組的淺色和深色繪制3D凸起線 #QFrame.Sunken=48 框架和內容出現凹陷; 使用當前顏色組的淺色和深色繪制3D凹陷線 s=frame.frameShadow() #返回陰影值 print(s) frame.setLineWidth(6) #設置外線寬度 s=frame.lineWidth() #返回外線寬度 print(s) frame.setMidLineWidth(12) #設置中線寬度 s=frame.midLineWidth() #返回中線寬度 s=frame.frameWidth() #返回總寬度.注意:內線寬度=外線寬度 print(s) frame.setFrameStyle(QFrame.Box | QFrame.Sunken) #框架樣式=框架形狀+框架陰影 frame.setFrameRect(QRect(20,20,60,60)) #框架矩形 s=frame.frameRect() #返回框架矩形 print(s) if __name__ == '__main__': app = QApplication(sys.argv) demo = Demo() demo.show() sys.exit(app.exec_())
天子驕龍