QT gridlayout 循环设置组件,表格也通用 已解决

在需求中。经常遇到,表格 展示需求。 几乎都是json格式的。 

// 列表配置文件QJsonArray listJsonArray = getCfgJsonData("details_tab_table_config.json");if (listJsonArray.isEmpty()){return;}ui->gridWidget->setMaximumSize(QSize(310, 180));ui->gridWidget->setMinimumSize(QSize(310, 180));int row = 0;int column = 0;for (int i = 0; i < listJsonArray.size(); ++i){if (column == 1){column = 0;row += 1;}column += 1;QJsonValue jsonValue = listJsonArray.at(i);bool bShow = jsonValue.toObject().value("is_show").toBool();QString name = jsonValue.toObject().value("name").toString();QString value = jsonValue.toObject().value("value").toString();QLabel* pName = new QLabel();pName->setText(name);pName->setAlignment(Qt::AlignCenter);pName->setMaximumWidth(100);pName->setMaximumHeight(38);pName->setStyleSheet("QLabel{ border-right: 1px solid #1C88E5; background-color:rgba(0, 51, 204, 0.3); color: #FFFFFF; font-size:14px; font-bold:10px;  }");QLabel* pValue = new QLabel();pValue->setText(name);pValue->setMaximumHeight(38);pValue->setAlignment(Qt::AlignVCenter);pValue->setStyleSheet("QLabel{ border:none; margin-left:5px; color: #FFFFFF; font-size:14px; font-bold:10px;  }");//中间用个空widget隔开QWidget* widget = new QWidget;if (i == 0){widget->setStyleSheet("QWidget{border-top: 1px solid #1C88E5;border-left: 1px solid #1C88E5;border-right: 1px solid #1C88E5;}");}if (i > 0 && i < listJsonArray.size()){widget->setStyleSheet("QWidget{border: 1px solid #1C88E5;border-bottom:none;}");}if (i == listJsonArray.size()){widget->setStyleSheet("QWidget{border-bottom: 1px solid #1C88E5; border-left: 1px solid #1C88E5;border-right: 1px solid #1C88E5;}");}QHBoxLayout* layout = new QHBoxLayout(widget);layout->setContentsMargins(0, 0, 0, 0);layout->addWidget(pName);layout->addWidget(pValue);ui->gridLayout_2->addWidget(widget, row, column);}

函数


QJsonArray CCendDetailsTabWidget::getCfgJsonData(QString jsonStr)
{QJsonArray jsonArray;QString jsonPathStr = getConfigPath(jsonStr);QFile jsonFile(jsonPathStr);if (jsonFile.exists() && jsonFile.open(QIODevice::ReadOnly | QIODevice::Text)){jsonArray = QJsonDocument::fromJson(jsonFile.readAll()).array();}return jsonArray;
}QString CCendDetailsTabWidget::getConfigPath(QString fileName)
{QString appDirPath = QCoreApplication::applicationDirPath();return appDirPath + "/config/" + fileName;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vant Weapp小程序 van-uploader 文件上传点击无反应,删除无反应

Vant Weapp 1.0 版本开始支持van-uploader组件&#xff0c;请先确认好版本号和引用路径正确&#xff01;&#xff01; <van-uploader file-list"{{ fileList }}" deletable"{{ true }}" />1. 上传无反应 微信小程序用了van-uploader&#xff0c;但是…

第G5周:Pix2Pix理论与实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 一、背景知识 1.1 图像翻译 图像内容&#xff08;Image Content&#xff09;&#…

冒泡排序 快速排序 归并排序 其他排序

书接上回.. 目录 2.3 交换排序 2.3.1冒泡排序 2.3.2 快速排序 快速排序的优化: 快速排序非递归 2.4 归并排序 基本思想 归并排序非递归 海量数据的排序问题 排序算法时间空间复杂度和稳定性总结 四. 其他非基于比较排序 (了解) 2.3 交换排序 基本思想&#xff1a;…

[技术杂谈]解决windows上出现文件名太长错误

最近执行python setup.py install总是失败&#xff0c;提示文件名太长发现网上有取消限制文件名长度&#xff0c;测试发现改完注册表无需重启cmd就生效了。但是有时候会失败&#xff0c;现在方法放这。 转到Windows“开始”&#xff0c;然后键入REGEDIT。选择注册表编辑器 选…

淘宝app商品数据API接口|item_get_app-获得淘宝app商品详情原数据

获得淘宝app商品详情原数据 API返回值说明 item_get_app-获得淘宝app商品详情原数据 公共参数​​​​​​ 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地…

Linux离线安装mysql,node,forever

PS:本文是基于centos7实现的,要求系统能够查看ifconfig和unzip解压命令, 实现无网络可安装运行 首先现在百度网盘的离线文件包****安装Xftp 和 Xshell 把机房压缩包传到 home目录下****解压unzip 包名.zip 获取IP先获取到 linux 主机的ip ifconfig Xftp 连接输入IP,然后按照…

LevelDB

levelDB介绍 官方文档的介绍翻译&#xff1a;Leveldb 基本介绍和使用指南 介绍lDB的起源和特性&#xff1a;LevelDB介绍&#xff08;非常详细&#xff09; 详细介绍levelDB的缓存架构和持久化文件结构、基本操作接口&#xff1a;【深度知识】区块链数据库LevelDB从入门到原理详…

蓝牙信标定位精度

蓝牙信标定位精度受到多种因素的影响&#xff0c;包括设备硬件、环境因素以及信号干扰等。因此&#xff0c;蓝牙信标的精度并不是固定的&#xff0c;而是会在一定范围内波动。 在我们实际应用过程中&#xff0c;蓝牙信标的精度通常可以做到2-5米。本文重点介绍下影响蓝牙信标精…

StarRocks 助力小红书离线数仓提效,提升百倍回刷性能!

数据处理效率一直是大数据时代的核心话题&#xff0c;它推动着各类数据执行引擎持续迭代产品。从早期的 MapReduce&#xff0c;到今天的 Spark&#xff0c;各行业正不断演进其离线数仓技术架构。 现有以 Spark 为核心的数仓架构在处理大规模数据回刷方面已取得进展&#xff0c…

数组的概述

数组的概述 为什么需要数组 需求分析1&#xff1a; 需要统计某公司50个员工的工资情况&#xff0c;例如计算平均工资、找到最高工资等。用之前知识&#xff0c;首先需要声明50个变量来分别记录每位员工的工资&#xff0c;这样会很麻烦。因此我们可以将所有的数据全部存储到一…

day07-缓存商品、购物车

1. 缓存菜品 1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大。 结果&#xff1a; 系统响应慢、用户体验差 1.2 实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓…

力扣链表(反转、有无环)

LCR 024. 反转链表 给定单链表的头节点 head &#xff0c;请反转链表&#xff0c;并返回反转后的链表的头节点。 当我们谈论反转单链表时&#xff0c;我们指的是改变链表中元素的链接方向&#xff0c;使得链表的最后一个节点成为头节点&#xff0c;原本的头节点成为最后一个节…

vue脚手架创建项目:账号登录(利用element-ui快速开发)(取消eslint强制格式)(修改端口号)

新手看不懂&#xff0c;老手不用看系列 文章目录 一、准备工作1.1 取消强制格式检查1.2 导入依赖&#xff0c;注册依赖 二、去element-ui官网找样式写Login组件2.1 引用局部组件2.2 运行项目 三、看一下发现没问题&#xff0c;开始修改前端的代码四、修改端口号4.1 修改后端端口…

Michael.W基于Foundry精读Openzeppelin第52期——ERC4626.sol

Michael.W基于Foundry精读Openzeppelin第52期——ERC4626.sol 0. 版本0.1 ERC4626.sol 1. 目标合约2. 代码精读2.1 constructor()2.2 maxDeposit(address) && previewDeposit(uint256 assets) && deposit(uint256 assets, address receiver)2.3 maxMint(addres…

君正X2100 RTOS JPEG硬件编码

一、配置 进入SDK的tools/iconfigtool/IConfigToolApp目录&#xff0c;执行./IConfigTool指令&#xff0c;进入配置界面&#xff1a; Config.in 是生成配置界面的文件&#xff0c;Config是需要修改的配置文件&#xff0c;选择之后点击Open。 选择 xburst2系列CPU->X2000系列…

Harmony OS 网络编程 实验指南

netcat简介 netcat 是什么&#xff1f; netcat是一个非常强大的网络实用工具&#xff0c;可以用它来调试TCP/UDP应用程序&#xff1b; netcat 如何安装&#xff1f; Linux上可以使用发行版的包管理器安装&#xff0c;例如Debian/Ubuntu上&#xff1a; sudo apt-get instal…

别想宰我,怎么查看云厂商是否超卖?详解 cpu steal time

据说有些云厂商会超卖&#xff0c;宿主有 96 个核心&#xff0c;结果卖出去 100 多个 vCPU&#xff0c;如果这些虚机负载都不高&#xff0c;大家相安无事&#xff0c;如果这些虚机同时运行一些高负载的任务&#xff0c;相互之间就会抢占 CPU&#xff0c;对应用程序有较大影响&a…

【linux】解决python安装成功,命令行无法调用问题

查看已安装的软件包 sudo dpkg --get-selections 查看软件包安装位置 which python3 输出信息&#xff1a;/usr/bin/python3 再创建一个指向 Python 3 的符号链接 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 创建一个 /usr/bin/python 的…

深度学习技巧应用39-深度学习模型训练过程中数据均衡策略SMOTE的详细介绍,以及SMOTE的算法原理与实现

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用39-深度学习模型训练过程中数据均衡策略SMOTE的详细介绍,以及SMOTE的算法原理与实现,本文介绍了一种用于处理分类数据不平衡问题的过采样方法——SMOTE算法。SMOTE算法通过在少数类的样本之间插值来创建新的样本,从而…

【笔记】Hbase基础笔记

启动hbase&#xff1a;进入hbase安装目录 输入bin/start-hbase.sh 打开shell命令行模式:进入hbase安装目录 输入bin/hbase shell 退出shell命令行模式&#xff1a;exit 停止hbase&#xff1a;进入hbase安装目录 输入bin/stop-hbase.sh 启动关闭Hadoop和HBase的顺序一…