实战PyQt5: 046-框架外形控件QFrame

QFrame简介

QFrame是一个继承制QWidget的控制框架外形的类,主要是用来控制一些边框样式,、例如凸起、凹下、阴影、线宽等,它既可以直接使用,也可以作为需要边框控制的控件的基类。

QFrame常用方法:

  • setFrameShape(): 设置QFrame类窗口的边框,其参数见QFrame.Shape枚举值;
  • setFrameShade(): 设置QFrame类窗口的阴影,其参数见QFrame.Shade枚举值;
  • setFrameStyle(): 同时设置边框和阴影,参数为QFrame.Shape|QFrame.Shade组合;
  • setLineWidth(): 设置外线宽度;
  • setMidLineWidth(): 设置中线宽度;
  • frameShape(): 获取边框类型;
  • frameShade(): 获取边框阴影;
  • lineWidth(): 获取外线宽度;
  • midLineWidth(): 获取中线宽度;
  • frameWidth(): 总宽度。

QFrame.Shape枚举变量及含义:

  • QFrame.NoFrame: 0,无边框;
  • QFrame.Box: 1,矩形框;
  • QFrame.Panel: 2,凸起或者凹下的面板;
  • QFrame.WinPanel: 3,Windows 2000风格的面板,可以是凸起或下沉。边框的宽度是2像素。此属性是为了与旧版本的Qt兼容而存在的;
  • QFrame.HLine: 4,水平线(用作分隔线);
  • QFrame.VLine: 5, 垂直线(用着分隔线);
  • QFrame.StyledPanel: 6,根据当前GUI类型,画一个矩形面板,可以凸起或者凹下。

QFrame.Shade枚举变量及含义:

  • QFrame.Plain: 0x10, 无阴影;
  • QFrame.Raised: 0x20, 面板凸起;
  • QFrame.Sunken: 0x30, 面板下沉。

QFrame类继承关系:

实战PyQt5: 046-框架外形控件QFrame

 

测试QFrame

使用QtDesigner创建文件frame.ui,演示QFrame边框,阴影和线宽作用下的各种效果。创建文件qframe.py, 导入frame.ui对应的Python类Ui_Frame,完整代码如下:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (QApplication, QWidget, QFrame, QLabel,
                             QFormLayout, QHBoxLayout)
from Ui_frame import Ui_Frame

class DemoFrame(QWidget):
    def __init__(self, parent=None):
        super(DemoFrame, self).__init__(parent)       
          
        ui = Ui_Frame()
        ui.setupUi(self)
        
        # 设置窗口标题
        self.setWindowTitle('实战PyQt5: QFrame Demo!') 
                 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = DemoFrame()
    window.show()
    sys.exit(app.exec())  

注: frame.ui文件代码太长,这里就不附上了,根据最终运行图,使用Qt Designer 可以方便地设计出整个显示窗口。

最终运行结果见下图:

实战PyQt5: 046-框架外形控件QFrame

QFrame参数演示

本文知识点

  • 使用QtDesigner设置QFrame边框的各种效果;
  • 在QtDesigner中使用QHBoxLayout和QFormLayoutLayout布局。

前一篇:  实战PyQt5: 045-添加资源文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值