Windows图形界面(GUI)-QT-C/C++ - QT Frame

目录

一、概述

二、使用场景

[1. 分隔内容区域](#1. 分隔内容区域)

[2. 装饰性边框](#2. 装饰性边框)

[3. 自定义控件容器](#3. 自定义控件容器)

三、常见样式

[1. 框架形状(Shape)](#1. 框架形状(Shape))

[2. 框架阴影(Shadow)](#2. 框架阴影(Shadow))

[3. 线条宽度(Line Width)](#3. 线条宽度(Line Width))

[4. 中线宽度(Mid Line Width)](#4. 中线宽度(Mid Line Width))

四、属性设置

[1. 设置框架形状](#1. 设置框架形状)

[2. 获取框架形状](#2. 获取框架形状)

[3. 设置框架阴影](#3. 设置框架阴影)

[4. 获取框架阴影](#4. 获取框架阴影)

[5. 设置线条宽度](#5. 设置线条宽度)

[6. 获取线条宽度](#6. 获取线条宽度)

[7. 设置中线宽度](#7. 设置中线宽度)

[8. 获取中线宽度](#8. 获取中线宽度)


一、概述

QFrame 是 Qt 框架中的一个基础控件,用于在界面中创建带有边框和背景的矩形区域。它不仅可以作为视觉上的分隔工具,还可以作为其他控件的容器,提供装饰性边框或背景。QFrame 的灵活性和可定制性使其在界面设计中具有广泛的应用场景。


二、使用场景

1. 分隔内容区域

在复杂的用户界面中,通常需要将不同的内容区域进行视觉上的分隔。QFrame 可以通过设置边框形状和阴影效果,清晰地划分界面区域,提升用户体验。

2. 装饰性边框

QFrame 可以为其他控件(如按钮、标签等)添加装饰性边框,增强控件的视觉效果。例如,为图片添加一个凸起的边框,使其在界面中更加突出。

3. 自定义控件容器

QFrame 可以作为其他控件的容器,为这些控件提供背景或边框。例如,将一组相关的控件放入一个 QFrame 中,并通过设置背景色或边框样式使其成为一个独立的模块。


三、常见样式

QFrame 提供了多种样式选项,开发者可以根据需求自定义其外观。

1. 框架形状(Shape)

  • Box:矩形框,线条围绕整个框架。

  • Panel:面板样式,可以显示凸起或凹陷的效果。

  • HLine:水平线,用于分隔内容。

  • VLine:垂直线,用于分隔内容。

  • StyledPanel:系统风格的矩形框,外观取决于当前主题。

  • WinPanel:Windows 风格的矩形框。

2. 框架阴影(Shadow)

  • Plain:无阴影效果。

  • Raised:凸起效果,使框架看起来像是从背景中突出。

  • Sunken:凹陷效果,使框架看起来像是嵌入背景中。

3. 线条宽度(Line Width)

设置框架边框的线条宽度,影响边框的粗细。

4. 中线宽度(Mid Line Width)

用于双线边框,设置两条线之间的间距。


四、属性设置

QFrame 提供了丰富的属性设置方法,开发者可以通过这些方法灵活地调整框架的外观。

1. 设置框架形状

frame->setFrameShape(QFrame::Box); // 设置为矩形框

2. 获取框架形状

QFrame::Shape shape = frame->frameShape();

3. 设置框架阴影

frame->setFrameShadow(QFrame::Raised); // 设置为凸起效果

4. 获取框架阴影

QFrame::Shadow shadow = frame->frameShadow();

5. 设置线条宽度

frame->setLineWidth(2); // 设置边框宽度为 2 像素

6. 获取线条宽度

int lineWidth = frame->lineWidth();

7. 设置中线宽度

frame->setMidLineWidth(4); // 设置中线宽度为 4 像素

8. 获取中线宽度

int midLineWidth = frame->midLineWidth();

相关推荐
论迹复利3 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
736c4 小时前
C语言-结构体 08
c语言
张宇Joaquin4 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
736c4 小时前
C语言-数组 07
c语言·开发语言
kakakahahahaha4 小时前
【Windows】C盘低空间反复复发的排查与扩容边界
c语言·windows·电脑·笔记本电脑·内容运营·软件需求
宸津-代码粉碎机4 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
LorryJovens6 小时前
【LAAP科研】CEN因果等价网络理论---从双缝干涉到因果等价
开发语言·php
2301_800074216 小时前
map,list简单方法
windows·python·list
LuminousCPP6 小时前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
技术不好的崎鸣同学6 小时前
Windows 红队实战:前言
windows