Python GUI编程网 > PyQt5控件_PyQt5控件方法大全 > 基本控件的基类QFrame功能介绍及QFrame和QWidget的区别
python教程

基本控件的基类QFrame功能介绍及QFrame和QWidget的区别

发布博客:2022年12月5日 03:18
阅读:415
作者:Python GUI编程网

QFrame是QWidget的子类,与QWidget不同的是QFrame主要用于控制控件的边框样式,如凸起、凹下、阴影、线宽等等,QFrame继承自QWidget可以直接使用,也可以展示。

QFrame是QWidget的子类,与QWidget不同的是QFrame主要用于控制控件的边框样式,如凸起、凹下、阴影、线宽等等,QFrame继承自QWidget可以直接使用,也可以展示。

一、QFrame功能介绍

下面是QFrame构造方法,通过方法可以看出来QFrame可以有上级控件,并且可以通过flags来选择样式,后面详细讲解。

class QFrame(QWidget):
    """ QFrame(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) """

1.创建一个QFrame对象

def func(self):
     qf = QFrame(self)
     qf.resize(200, 120)
     qf.move(150, 150)
     qf.setStyleSheet('background-color:green')

通过背景样式可以直接看到这个控件了。

2. QFrame边框样式介绍

这里我从网上找到一张图片,完全能说明QFrame的边框样式设计效果,这里解释一下,如果还有人看不明白,请只接看本站视频教程。

QFrame

从上图中可以看到我用不同颜色划分的区域,首先标记1中的0表示外线宽度lineWidth,标记2中的0123表示中线宽度middleWidth,这有点类似CSS中的盒子模型。其次标记5以及下面绿色框中表示的是框架形状或属性,标记6及红色框内表示的是阴影效果,类似于值。

整体样式设计,就是先通过lineWidth和middleWidth的大小选择后再通过属性和值的选择来确定QFrame的样式的。

二、QFrame和QWidget的区别

QFrame和QWidget的区别这里我结合一些官方解答和我自己的理解。

QWidget类是所有用户界面对象的基类,被称为基础窗口部件,QWidget是用户界面的基本单元,直接从窗口系统接收鼠标、键盘等硬件事件,然后在屏幕上绘制自己,它可以作为其他部件的容器。QWidget继承自QObject类和QPaintDevice类,其中QObject类是所有支持Qt对象模型(Qt Object Model)的Qt对象的的基类,QPaintDevice类是所有可以绘制的对象的基类。

QFrame类是带有边框的部件的基类。它的子类有我们最为常用的标签部件QLabel,另外还有QLCDNumber、QSplitter、QStackedWidget、QToolBox和QAbstractScrollArea类。

带边框部件最主要的特点就是可以有一个明显的边界框架。QFrame类的主要功能也就是用来实现不同的边框效果,这主要是由边框形状(Shape)和边框阴影(Shadow)组合来形成的。

QFrame