5.1.1框架:QFrame
框架控件属于QFrame类,用于对窗口部分控件进行分隔。QFrame类的常用方法如下:
setFrameShape():设置分隔线方向,取值如下:
HLine:水平分割线
VLine:垂直分割线
setFrameStyle():设置分隔线样式(QFrame.Shape.X):
NoFrame:无分隔线 Box:方块分隔线 Panel:面板 StyledPanel:面板风格
SetFrameShadow():设置分隔线的显示阴影(QFrame.Shape.X),取值如下: Sunken:有边框阴影,并且下沉显示,这是默认设置
Plain:无阴影
Raised:有边框阴影,并且凸起显示
setLineWidth():设置分隔线的宽度
setMidLineWidth():设置分隔线的中间线宽度
【例5.1】QFrame分隔测试,测试如下:
import sys # 导入Python标准库sys,用于处理与Python解释器相关的操作
from PyQt6.QtWidgets import * # 从PyQt6的QtWidgets模块中导入所有类和功能
class MyWidget(QWidget): # 定义一个名为MyWidget的类,继承自QWidget
def __init__(self): # 定义MyWidget类的构造函数
super(MyWidget, self).__init__() # 调用父类QWidget的构造函数,完成基本的初始化
self.setFixedSize(500, 350) # 设置窗口的固定大小为500x350像素
self.setWindowTitle("QFrame测试") # 设置窗口的标题为"QFrame测试"
# 创建一个QFrame对象并设置其属性
self.frame = QFrame()
self.frame.setFrameStyle(QFrame.Shape.Panel) # 设置框架的样式为面板样式
self.frame.setLineWidth(1) # 设置框架的线宽为1像素
self.frame.setMidLineWidth(1) # 设置框架中间部分的线宽为1像素
self.frame.setFixedSize(480, 200) # 设置框架的固定大小为480x200像素
# 创建一个垂直布局,并设置到MyWidget上
self.vLayout = QVBoxLayout(self)
self.vLayout.addSpacing(10) # 在布局中添加10像素的间距
self.vLayout.addWidget(self.frame) # 将框架添加到垂直布局中
self.vLayout.addSpacing(20) # 在布局中添加20像素的间距
self.vLayout.addStretch() # 添加一个伸缩空间,使布局更加灵活
# 创建并配置按钮和组合框
self.btn1 = QPushButton("设置LineWidth") # 创建按钮,用于设置