pyqt5-QFrame边框样式
继承 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_())
天子骄龙