继承  QObject-->QWidget-->QFrame

是一个基类, 可以选择直接使用,主要是用来控制一些边框样式:例如:凸起、凹下、阴影、线宽

 QFrame对象效果对照图:

pyqt5-QFrame边框样式-LMLPHP

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_())

天子骄龙

05-19 09:16