QFrame设置边框形状、框架阴影、框架线宽和框架样式
在前文中我们通过一张图讲解了QFrame设置边框形状、框架阴影、框架线宽和框架样式的原理和操作流程,至于QFrame设置边框形状、框架阴影、框架线宽和框架样式时有哪些属性和值能提供给我们选择,还有哪些方法能帮助我们设置这些样式呢,本文将详细讲解。
在前文中我们通过一张图讲解了QFrame设置边框形状、框架阴影、框架线宽和框架样式的原理和操作流程,至于QFrame设置边框形状、框架阴影、框架线宽和框架样式时有哪些属性和值能提供给我们选择,还有哪些方法能帮助我们设置这些样式呢,本文将详细讲解。
整体样式设计,就是先通过lineWidth和middleWidth的大小选择后再通过属性和值的选择来确定QFrame的样式的。也可以只设置部分样式或线宽等效果
一、QFrame框架形状设置
这里注意,QFrame框架永远是矩形的,这里对QFrame框架形状的设置只是显示出来的效果,并不是控件本身的形状。
# QFrame.NoFrame # QFrame.Box # QFrame.Panel # QFrame.HLine # QFrame.VLine # QFrame.StyledPanel # QFrame.WinPanel qf.setFrameShape(QFrame.HLine)
二、QFrame框架边框阴影设置
框架阴影的设置,有前端基础的可以参考CSS盒子模型,理解方式是一样的。
# QFrame.Plain # QFrame.Raised # QFrame.Sunken qf.setFrameShadow(QFrame.Raised)
三、QFrame边框线宽设置
qf.setLineWidth(15) qf.setMidLineWidth(20) print(qf.frameWidth()) # 内线和外线宽度一样
四、QFrame框架样式设置
qf.setFrameStyle(QFrame.Box | QFrame.Raised)
五、QFrame框架矩形设置
qf.setFrameRect(QRect(50, 50, 250, 150))
下面是完整课程代码,大家自己参考一下。
from PyQt5.Qt import * import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QFrame - PyQt5中文网") self.resize(600, 500) self.func_list() def func_list(self): self.func() def func(self): qf = QFrame(self) qf.resize(200, 120) qf.move(150, 150) # qf.setStyleSheet('background-color:green') # 框架形状 # QFrame.NoFrame # QFrame.Box # QFrame.Panel # QFrame.HLine # QFrame.VLine # QFrame.StyledPanel # QFrame.WinPanel qf.setFrameShape(QFrame.HLine) # 框架边框阴影 # QFrame.Plain # QFrame.Raised # QFrame.Sunken qf.setFrameShadow(QFrame.Raised) # 线宽 qf.setLineWidth(15) qf.setMidLineWidth(20) print(qf.frameWidth()) # 内线和外线宽度一样 # 框架样式 qf.setFrameStyle(QFrame.Box | QFrame.Raised) # 框架矩形 qf.setFrameRect(QRect(50, 50, 250, 150)) if __name__ == '__main__': app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())