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

Qt designer坑-布局内子控件的顺序错乱

如一个gridlayout,依次是多个按钮 第一行 :button1、button2、button3,第二行 :button4、button5、button6
如果在Qt designer里往布局拖新的控件或删除控件,designer会自行对layout的控件顺序重新自动排序,排序的规则没有研究出来,好像也不是按照控件的名称。这里控件顺序指的不是界面上的排序,而是QLayoutItem *QLayout::itemAt(int index)对应的index,比如itemAt(0)直观觉得应该返回button1,但它却返回button5

如何确保itemAt的顺序跟界面上的控件顺序一致?必须人为编辑.ui文件,实际上是一个xml文件,找到gridlayout的字段,如

<layout class="QGridLayout" name="gridLayout"><item row="1" column="1"><widget class="QToolButton" name="button5">     <property name="text"><string>5</string></property><property name="iconSize"><size><width>50</width><height>50</height></size></property></widget></item>...<item row="0" column="0"><widget class="QToolButton" name="button1">     <property name="text"><string>1</string></property><property name="iconSize"><size><width>50</width><height>50</height></size></property></widget></item>      
</layout>

把button1调整到最前面,保存,重新编译.ui文件即可,这样itemAt(0)返回的就是button1,itemAt的顺序是跟.ui里的顺序一致的。
但只要再用Qt designer编辑控件,.ui里的顺序就又会被打乱,这个问题非常恼人,目前没办法,只能避免用Qt designer,自己手动改.ui

用到itemAt的场景,如隐藏了layout里的控件,但控件仍然占着空位,想让其它控件自动填充空位,此时可以先把隐藏的控件从layout里去掉,再把剩余的控件(通过itemAt获取剩余控件)全部去掉,重新逐一添加回layout。如果itemAt的顺序跟原来界面上的不一样,控件的位置就不对了

http://www.lryc.cn/news/578915.html

相关文章:

  • ABAP+记录一个BDC的BUG修改过程
  • transformers==4.42.0会有一个BUG
  • pdf 合并 python实现(已解决)
  • Python 数据分析与可视化 Day 14 - 建模复盘 + 多模型评估对比(逻辑回归 vs 决策树)
  • 文档全文搜索引擎:AnyTXT Searcher
  • 【RHCSA-Linux考试题目笔记(自用)】servera的题目
  • 2025-6GESP六级编程题分析
  • 机器学习在计算机视觉中的应用
  • 中科米堆三维扫描仪3D扫描压力阀抄数设计
  • 3D扫描:开启数字化世界的多面钥匙
  • 【强化学习】深度解析 GRPO:从原理到实践的全攻略
  • ESP32-S3开发板LVGL图形界面开发实战教程
  • React 学习(2)
  • 【python】pdf拆成图片,加中文,再合成pdf
  • Spark流水线数据探查组件
  • 跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议​​
  • vscode vim插件示例json意义
  • STM32模拟I2C获取AP3216C光学接近传感器数据
  • Linux-修改线上MariaDB服务端口号
  • 【网工|知识升华版|实验】1 登录华为设备并配置
  • IDEA2025 Version Control 窗口 local changes显示
  • Adobe高阶技巧与设计师创意思维的进阶指南
  • 免Mac上架实战:全平台iOS App上架流程的工具协作经验
  • 开源计算机视觉的基石:OpenCV 全方位解析
  • 同一水平的 RISC-V 架构的 MCU,和 ARM 架构的 MCU 相比,运行速度如何?
  • containerd 项目主要目录简要说明
  • 多模态进化论:GPT-5V图文推理能力在工业质检中的颠覆性应用
  • AI智能体时代来临:数据分析的变革与自动化之路
  • Linux缓存调优指南:提升服务器性能的关键策略
  • Android Native 之 init初始化selinux机制