当前位置: 首页 > news >正文

Qt6.5类库实例大全:QFrame

哈喽大家好,我是20YC小二!欢迎扫码关注公众号,现在可免费领取《C++程序员》在线视频教程哦!

~下面开始今天的分享内容~


1. QFrame介绍

QFrame是Qt框架中的一个框架控件类,主要用于在图形用户界面(GUI)中创建框架,并提供各种边框样式和功能。它是许多基础控件的基类,可以用于创建自定义的框架样式,或者作为其他需要边框控制的控件的基类。

QFrame的主要功能和特点包括:

  • 边框控制:QFrame提供了丰富的边框样式和功能,可以控制边框的凸起、凹下、阴影、线宽等。这使得开发人员可以方便地创建具有不同外观和风格的框架。
  • 框架形状:QFrame支持多种框架形状,包括矩形框、面板、Windows风格的面板等。这些形状可以根据需要进行选择和定制,以适应不同的应用场景。
  • 子类化:QFrame作为许多基础控件的基类,可以被其他控件类继承,并提供成员方法和属性给子类,用于实现子类的框架样式设计。这使得QFrame具有很高的灵活性和可扩展性。
  • 占位符框架:QFrame还可以直接用于创建不包含任何内容的简单占位符框架,用于在界面中预留空间或作为布局的一部分。

QFrame具有丰富的边框控制、框架形状和子类化功能。通过合理地使用QFrame,开发人员可以创建具有自定义样式和功能的框架,提高应用程序的用户界面质量和用户体验。

  • 如何使用:

头文件:#include <QFrame>

cmake:find_package(Qt6 REQUIRED COMPONENTS Widgets)

              target_link_libraries(mytarget PRIVATE Qt6::Widgets)

qmake:QT += widgets

继承于:QWidget

2. QFrame显示普通面板风格例子

#include <QFrame>
QFrame* p_frame = new QFrame(this);
p_frame->setGeometry(25, 25, 350, 150);
p_frame->setFrameShape(QFrame::Panel);
p_frame->setFrameShadow(QFrame::Raised);

3. QFrame常用属性

  • frameShape框架形状:

// 访问函数
Shape frameShape() const
void setFrameShape(Shape)/**** 例子:普通Window风格面板框架 ****/
p_frame->setFrameShape(QFrame::WinPanel);
p_frame->setFrameShadow(QFrame::Raised);
  • frameShadow框架阴影:

// 访问函数
Shadow frameShadow() const
void setFrameShadow(Shadow)/**** 例子 ****/
p_frame->setFrameShape(QFrame::WinPanel);
p_frame->setFrameShadow(QFrame::Sunken);

  • lineWidth线条宽度:

// 访问函数:默认 1
int lineWidth() const
void setLineWidth(int)

4. QFrame绘制水平线例子

#include <QFrame>
QFrame* p_frame = new QFrame(this);
p_frame->setGeometry(10, 10, 180, 5);
p_frame->setFrameShape(QFrame::HLine);
p_frame->setLineWidth(5);

5. QFrame绘制垂直线例子

#include <QFrame>
QFrame* p_frame = new QFrame(this);
p_frame->setGeometry(10, 18, 5, 200);
p_frame->setFrameShape(QFrame::VLine);
p_frame->setLineWidth(5);
p_frame->setStyleSheet("border: 5px solid blue;");

6. QFrame各种风格显示例子

功能:创建各种不同显示风格的QFrame控件。

  • .h 头文件源码:

#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>class Dialog : public QDialog
{Q_OBJECT
public:Dialog(QWidget *parent = nullptr);~Dialog();
};
#endif // DIALOG_H
  • .cpp 源文件源码:

#include "dialog.h"
#include <QFrame>Dialog::Dialog(QWidget *parent): QDialog(parent)
{this->setWindowTitle("20YC编程社区");this->resize(780, 360);// 绘制水平线QFrame* p_frame1 = new QFrame(this);p_frame1->setGeometry(10, 10, 680, 5);p_frame1->setFrameShape(QFrame::HLine);p_frame1->setLineWidth(5);// 绘制垂直线(指定线条颜色)QFrame* p_frame2 = new QFrame(this);p_frame2->setGeometry(10, 18, 5, 200);p_frame2->setFrameShape(QFrame::VLine);p_frame2->setLineWidth(5);p_frame2->setStyleSheet("border: 5px solid blue;");// 绘制方框QFrame* p_frame3 = new QFrame(this);p_frame3->setGeometry(25, 25, 150, 50);p_frame3->setFrameShape(QFrame::Box);// 绘制带阴影方框QFrame* p_frame4 = new QFrame(this);p_frame4->setGeometry(25, 125, 150, 50);p_frame4->setFrameShape(QFrame::Box);p_frame4->setFrameShadow(QFrame::Raised);// 绘制框架(带阴影效果1)QFrame* p_frame5 = new QFrame(this);p_frame5->setGeometry(225, 25, 150, 50);p_frame5->setFrameShape(QFrame::Panel);p_frame5->setFrameShadow(QFrame::Raised);// 绘制框架(带阴影效果2)QFrame* p_frame6 = new QFrame(this);p_frame6->setGeometry(225, 125, 150, 50);p_frame6->setFrameShape(QFrame::WinPanel);p_frame6->setFrameShadow(QFrame::Sunken);
}Dialog::~Dialog()
{
}

相关文章:

Qt6.5类库实例大全:QFrame

哈喽大家好&#xff0c;我是20YC小二&#xff01;欢迎扫码关注公众号&#xff0c;现在可免费领取《C程序员》在线视频教程哦&#xff01; ~下面开始今天的分享内容~ 1. QFrame介绍 QFrame是Qt框架中的一个框架控件类&#xff0c;主要用于在图形用户界面(GUI)中创建框架&#…...

Java 数据结构篇-用数组、堆实现优先级队列

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 优先级队列说明 2.0 用数组实现优先级队列 3.0 无序数组实现优先级队列 3.1 无序数组实现优先级队列 - 入队列 offer(E value) 3.2 无序数组实现优先级队列 - 出…...

Reactor模型

目录 1.Reactor模型是什么2.Reactor 模型应用场景3.使用 Reactor 模型的软件4.Reactor 模型 与 Actor 模型 的关系 本文主要介绍Reactor模型基本概念以及应用场景。 1.Reactor模型是什么 Reactor模型是一种事件驱动的设计模式&#xff0c;用于处理服务请求&#xff0c;它是由…...

【SpringCloud】通过Redis手动更新Ribbon缓存来解决Eureka微服务架构中服务下线感知的问题

文章目录 前言1.第一次尝试1.1服务被调用方更新1.2压测第一次尝试1.3 问题分析1.4 同步的不是最新列表 2.第二次尝试2.1调用方过滤下线服务2.2压测第二次尝试2.3优化 写到最后 前言 在上文的基础上&#xff0c;通过压测的结果可以看出&#xff0c;使用DiscoveryManager下线服务…...

如何做好性能压测?压测环境设计和搭建的7个步骤你知道吗?

简介&#xff1a;一般来说&#xff0c;保证执行性能压测的环境和生产环境高度一致是执行一次有效性能压测的首要原则。有时候&#xff0c;即便是压测环境和生产环境有很细微的差别&#xff0c;都有可能导致整个压测活动评测出来的结果不准确。 1. 性能环境要考虑的要素 1.1 系…...

Qt12.13

...

目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】SLAM(基础篇)(五)

目录 前言 几个相关概念 双目视惯雷达SLAM 相关工作 系统综述 视觉前端...

鸿蒙开发之页面与组件生命周期

一、页面间的跳转 创建文件的时候记得选择创建page文件&#xff0c;这样就可以在main->resources->profile->main_pages.json中自动形成页面对应的路由了。如果创建的时候你选择了ArkTS文件&#xff0c;那么需要手动修改main_pages.json文件中&#xff0c;添加相应的…...

Kotlin开发之低功耗蓝牙(引用三方库)的详解一

在我们工作中&#xff0c;如果涉及到软硬结合&#xff0c;经常会用到蓝牙&#xff0c;而蓝牙有两种&#xff1a;一种是普通的蓝牙&#xff0c;一种是低功耗的蓝牙&#xff0c;今天我们主要讲解的是低功耗蓝牙&#xff1a;主要根据第三方库进行的讲解 第一步&#xff1a;在使用…...

5G/4G工业DTU扬尘在线监测:解决工地扬尘困扰的最佳方案

在如今快速发展的工业环境中&#xff0c;扬尘污染成为了一个严重的问题。工地扬尘不仅对环境造成污染&#xff0c;还对工作人员的健康产生负面影响。为了解决这一问题&#xff0c;5G/4G工业DTU扬尘在线监测应运而生。 5G/4G工业DTU扬尘在线监测原理 5G/4G工业DTU扬尘在线监测是…...

思源黑体某些字显示成日式中文,太先进了(附解法)

由于字体版权问题&#xff0c;公司外发的材料一般都需要把字体换成“思源黑体”才可以。 很久以前下载过显示为“Noto Sans CJK”的思源黑&#xff0c;后来改成了“SourceHanSans”&#xff0c;一直以为自己的思源黑体是正常的。 然后问题来了&#xff1a;在替换ppt里的字体后…...

.NET医院检验系统LIS源码,使用了oracle数据库,保证数据的隔离和安全性

医院检验系统LIS源码&#xff0c;LIS系统全套商业源码 LIS系统实现了实验室人力资源管理、标本管理、日常事务管理、网络管理、检验数据管理&#xff08;采集、传输、处理、输出、发布&#xff09;、报表管理过程的自动化&#xff0c;使实验室的操作人员和管理者从繁杂的手工劳…...

html实现动漫视频网站模板源码

文章目录 1.视频设计来源1.1 主界面1.2 动漫、电视剧、电影视频界面1.3 播放视频界面1.4 娱乐前线新闻界面1.5 关于我们界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/detail…...

python zblog API实现类似XMLRPC/发布文章

我发现python对Zblog的XML发布并不友好&#xff0c;虽然也有对应的模块&#xff0c;但是远远没有XPCRPC更直接方便&#xff0c;但是使用xmlRpc是直接给发布文章带来了不小的便利&#xff0c;但是对系统也并不友好&#xff0c;但是zblog也开放了Api&#xff0c;但是干部子弟不乐…...

后台业务管理系统原型模板,Axure后台组件库(整套后台管理页面)

后台业务系统需要产品经理超强的逻辑思维能力和业务理解能力&#xff0c;整理了一批后台原型组件及完整的用 Axure 8 制作的后台系统页面&#xff0c;方便产品经理们快速上手制作后台原型。 包括交互元件、首页、商品、订单、库存、用户、促销、运营、内容、统计、财务、设置、…...

kyuubi整合flink yarn application model

目录 概述配置flink 配置kyuubi 配置kyuubi-defaults.confkyuubi-env.shhive 验证启动kyuubibeeline 连接使用hive catalogsql测试 结束 概述 flink 版本 1.17.1、kyuubi 1.8.0、hive 3.1.3、paimon 0.5 整合过程中&#xff0c;需要注意对应的版本。 注意以上版本 姊妹篇 k…...

使用openpyxl调整Excel的宽度

逐行加载Excel&#xff0c;并将行宽调整为行中的最大字符数。 希望在打开 Excel 时能够看到所有字符。 失败代码&#xff1a; #失败代码&#xff1a; wb openpyxl.load_workbook(./targetExcelFile.xlsx) ws wb.worksheets[0]for col in ws.iter_cols():max_length 0colum…...

前端面试——CSS面经(持续更新)

1. CSS选择器及其优先级 !important > 行内样式 > id选择器 > 类/伪类/属性选择器 > 标签/伪元素选择器 > 子/后台选择器 > *通配符 2. 重排和重绘是什么&#xff1f;浏览器的渲染机制是什么&#xff1f; 重排(回流)&#xff1a;当增加或删除dom节点&…...

【C语言】结构体实现位段

引言 对位段进行介绍&#xff0c;什么是位段&#xff0c;位段如何节省空间&#xff0c;位段的内存分布&#xff0c;位段存在的跨平台问题&#xff0c;及位段的应用。 ✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》 &#x1f388;跟着猪巴戒&#xff0c;…...

IEEE RAS 机器人最优控制(Model-based Optimization for Robotics)学习资料

系列文章目录 前言 电气和电子工程师学会机器人模型优化技术委员会 一、学习资料 1.1 教程和暑期学校 2020 年 Memmo 欧盟项目暑期班2019年Memmo欧盟项目冬季学校Matthias Gerdts&#xff08;德国慕尼黑联邦国防军大学&#xff09;在拜罗伊特 OMPC 2013 上举办的最优控制教程…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1&#xff1a;HTML/CSS 前端高频面试题2&#xff1a;浏览器/计算机网络 前端高频面试题3&#xff1a;JavaScript 1.什么是强缓存、协商缓存&#xff1f; 强缓存&#xff1a; 当浏览器请求资源时&#xff0c;首先检查本地缓存是否命中。如果命…...