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

QT实现抽屉菜单

实现一个点击按钮后弹出下方更多选项或者文本内容的功能

基础逻辑:创建一个QScrollArea,里面包含多个pushbutton和多个widget,然后通过点击pushbutton显隐widget即可。

目录

一、创建控件​编辑

二、设置widget的最大大小

三、设置Scrollarea布局的layoutSpacing和layoutSizeConstraint的内容

四、代码实现显隐

一、创建控件

二、设置widget的最大大小

不设置这一步可能导致显示widget显示得特别大,这是一种方式,文章最后还有一种占位的方式。

三、设置Scrollarea布局的layoutSpacing和layoutSizeConstraint的内容

四、代码实现显隐

//.h bool flag_4 = false; bool flag_5 = false; //.cpp void MainWindow::on_pushButton_4_clicked() { if(!flag_4){ ui->widget_4->hide(); flag_4 = true; }else{ ui->widget_4->show(); flag_4 = false; } } void MainWindow::on_pushButton_5_clicked() { if(!flag_5){ ui->widget_5->hide(); flag_5 = true; }else{ ui->widget_5->show(); flag_5 = false; } }

补充:占位方式让widget控件隐藏的时候,pushbutton不会下移

//.h // 保存抽屉内容原始高度 int m_dWidgetHeight = 0; int m_lkWidgetHeight = 0; //.cpp .... { ui->setupUi(this); // 记录widget展开时的高度 m_dWidgetHeight = ui->widgetDataEntry->height(); m_lWidgetHeight = ui->widgetLabWork->height(); } //槽函数中 isDataEntry = !isDataEntry;//先翻转了判断变量,这个就是之前的flag_4 if(isDataEntry) { // 展开:恢复原始高度,显示内容 ui->widgetD->setFixedHeight(m_dWidgetHeight); ui->widgetD->setVisible(isDataEntry); } else { // 收起:高度置0,看不见,但是控件占位存在!下方按钮不会移动 ui->widgetD>setFixedHeight(0); ui->widgetD->setVisible(isDataEntry); }//另一个flag_5同理
http://www.jsqmd.com/news/1257140/

相关文章:

  • 【研发类-区块链开发Skills】nft-standards 技能
  • 【Rust中级教程】2.7. API设计原则之灵活性(flexible) Pt.3:借用 vs. 拥有、`Cow`类型、可失败和阻塞的析构函数及解决办法
  • this关键字
  • Windows键盘重映射终极指南:用SharpKeys打造你的个性化键盘布局
  • DP(动态规划)入门相关书籍
  • Steam创意工坊模组免费下载终极指南:跨平台玩家的完美解决方案
  • 2025 全球数字经济大会揭晓:融云荣膺首批「出海严选服务商」
  • Claude中转站知识库问答:回答可靠性来自资料治理
  • 算法程序与设计
  • C语言程序设计第10天/数组
  • MCU芯片AS32X601如何使用 DMA 单次模式搬运 ADC 多通道采样数据?
  • 5分钟快速上手:Sketchfab 3D模型下载终极指南
  • 阿里巴巴造出0.8B超小文档解析神器,端到端解析时代来了?
  • HarmonyOS7 暗黑模式:3 步让你的 App 支持深色主题
  • 「盘点」界面控件DevExtreme (v23.1, v23.2)可访问性增强
  • Sketchfab 3D模型下载完整指南:免费获取高质量3D资源
  • 零成本AI股票分析:5分钟打造你的个人智能投资助手
  • 2026深圳招商加盟服务行业GEO优化公司选型指南丨生成式引擎优化服务商深度测评 - 企业新闻快传
  • API中转站成本控制:测试流量和正式账单必须分开
  • Token 单价更低,Agent 任务为什么反而更贵:4 层成本口径 + 最小事件账本 + 3 个决策问题
  • FastbootEnhance:Windows上最完整的Android设备管理工具终极指南
  • Qwen3.8 上百炼:国产推理 API 这条路,又往前推了一步
  • WarcraftHelper:魔兽争霸3玩家的5大游戏体验优化解决方案
  • 【Rust中级教程】2.11. API设计原则之受约束性(constrained) Pt.2:封闭trait(sealed trait)、重新导出(re-exports)、自动trait
  • StreamFX终极指南:5分钟掌握OBS专业级直播特效
  • Veeam备份虚拟机报错Unable to allocate RAM for VM snapshot完整解决方案
  • 3分钟快速上手:Beyond Compare 5密钥生成完整指南
  • 短视频封面转化率卡在2.3%?权威实测:9种AI工具横向评测(附GPU占用/出图速度/版权风险矩阵表)
  • Code date creation的开发技术介绍
  • 零基础掌握AI股票分析:3步打造个人智能投资系统