zoukankan      html  css  js  c++  java
  • 第15.36节 PyQt(Python+Qt)入门学习:containers容器类部件QFrame框架部件介绍

    一、概述

    容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有如下:
    在这里插入图片描述

    容器中的Frame为一个矩形的框架对象,对应类QFrame,QFrame类是PyQt中带框架部件的所有类的基类,如菜单、进度条、Label标签等。QFrame类除了派生子类外,也可以直接用于创建没有任何内容的简单占位符框架,用于占用一部分空间。

    二、属性和方法

    QFrame的方法和基本都是属性访问方法,基本没有单独的方法,因此本部分将属性和方法一起介绍。

    在Qt Designer中可以设置的Frame属性包括frameShape、framShadow、lineWidth、midLineWidth四个属性。除了这4个Designer中的属性外,QFrame另外还有frameRect和frameWidth这两个属性。

    2.1、frameShape属性

    frameShape属性对应类型为QFrame.Shape,该属性表示框架样式中的框架形状,有如下取值:
    在这里插入图片描述
    可以通过方法frameShape() 、setFrameShape(Shape)进行属性访问或设置。

    2.2、framShadow属性

    frameShadow属性对应类型为QFrame.Shadow,该属性表示框架提供三维效果的阴影类型,有如下取值:
    在这里插入图片描述
    可以通过frameShadow() 、setFrameShadow(Shadow)进行属性的访问。

    2.3、frameRect 属性

    frameRect 属性保存了Frame框架对象的几何范围矩形,当窗口调整大小时,frameRect 自动跟随调整。可以通过方法frameRect()和setFrameRect(QRect )来访问该属性。

    2.4、frameWidth 属性

    frameWidth 属性保留所绘制框架的宽度。
    请注意,边框宽度取决于边框样式,而不仅仅是lineWidth和midLineWidth。例如,由NoFrame指定的样式的边框宽度始终为0,而样式面板的边框宽度等于线宽。

    2.5、lineWidth和midLineWidth属性

    ineWidth和midLineWidth属性用于控制框架线条和中线的宽度,与width、frameWidth这两个属性一起表示框架相关的宽度属性。width是整个QFrame的几何图形的宽度,其他三个用于定义一个Frame的边界的宽度。

    midLineWidth指定框架中间额外线条的宽度,该线条使用第三种颜色获得特殊的三维效果。请注意,midLineWidth中间线只为凸起或凹陷的框、HLine和VLine框架绘制。

    为了便于理解这几个属性,可以参考特定样式的一个图:
    在这里插入图片描述
    从图可以打折看出lineWidth、midLineWidth和frameWidth这三者对应Frame各部分的关系,但这个图只是一种特例,其实还有其他形式的图例,这里用本图仅简单说明这三者大概的位置和关系。

    广告

    老猿关于PyQt的付费专栏《使用PyQt开发图形界面Python应用》只需要9.9元,该部分与第十五章的内容基本对应,但同样内容在付费专栏上总体来说更详细、案例更多。本节内容对应付费专栏的《第二十九章、containers容器类部件QFrame框架部件详解》。如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

    老猿Python,跟老猿学Python!

  • 相关阅读:
    ajax 请求登录超时跳转登录页的示例代码
    [WPF]实现密码框的密码绑定
    Linq系列(5)——表达式树之案例应用
    idea设置内存大小
    idea右下角显示使用内存情况
    idea打开Run Dashboard
    java的byte[]与String相互转换
    java有包名的调用没有包名的类,用反射
    【转】查看电脑显卡型号及显卡性能
    idea关闭sonarLint自动扫描
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/12570416.html
Copyright © 2011-2022 走看看