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

Pyqt6的tableWidget填充数据

代码

from PySide6.QtWidgets import QTableWidget QTableWidgetItemdef tableInit(self):self.tableWidgetself.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)module_keyWord = readJsonToDict(keyWordFileDir + module_name) #读取模块关键字json字典数据self.tableWidget.setRowCount(len(module_keyWord.items()) + 1) #用字典长度设置表格行数,+1表上表示除去表头self.tableWidget.setColumnCount(3)self.tableWidget.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)  # 禁止编辑单元格self.tableWidget.setAlternatingRowColors(True)  # 使表格颜色交错显示# 设置表头item = QTableWidgetItem("选择")item.setBackground(QBrush(QColor("cyan"))) #设置单元格背景颜色item.setFont# item.setTextAlignment(Qt.AlignmentFlag(20))self.tableWidget.setItem(0, 0, item)item = QTableWidgetItem("log关键字")item.setBackground(QBrush(QColor("cyan")))self.tableWidget.setItem(0, 1, item)item = QTableWidgetItem("描述")item.setBackground(QBrush(QColor("cyan")))self.tableWidget.setItem(0, 2, item)# 设置字体(字体,字号,颜色)# Item.setFont(QFont('Times', 14, QFont.Black))# # 另外一种方法设置颜色(该为红色)# Item.setForeground(QBrush(QColor(255, 0, 0)))# tableWidget.setItem(0, 0, Item)# 填充表格数据row = 1col = 1print('更新表格关键字文件:',keyWordFileDir + module_name)for name, score in module_keyWord.items():# 创建QCheckBoxcheckBox = QCheckBox()# 将QWidget设置为表格的单元格的QWidgetself.tableWidget.setCellWidget(row, 0, checkBox)checkBox.stateChanged.connect(lambda state, row=row: self.on_checkbox_state_changed(row))item = QTableWidgetItem(name)self.tableWidget.setItem(row, col, item)item = QTableWidgetItem(score)self.tableWidget.setItem(row, col+1, item)row += 1self.tableWidget.resizeColumnsToContents() #设置列宽跟随内容改变

代码功能解释

这段代码实现了表格的初始化和数据填充。

具体功能如下:

1. **设置表格选择行为**:设置为按行选择。

2. **读取JSON文件**:从指定路径读取模块关键字的JSON文件并转换为字典。

3. **配置表格属性**:设置表格的行数、列数、禁止编辑单元格、使表格颜色交错显示。

4. **设置表头**:创建并设置表头的三个单元格(选择、log关键字、描述),并设置背景颜色。

5. **填充表格数据**:遍历字典,为每一行添加复选框、关键字和描述,并连接复选框的状态变化事件。

控制流图

解释

  • A: 开始执行 tableInit 方法。
  • B: 设置表格的选择行为为按行选择。
  • C: 调用 readJsonToDict 方法读取 JSON 文件并转换为字典。
  • D: 配置表格的基本属性,如行数、列数、编辑权限等。
  • E: 设置表头的三个单元格,并设置背景颜色。
  • F: 初始化行号和列号。
  • G: 判断是否遍历完字典中的所有项。
  • H: 创建复选框并将其添加到表格中。
  • I: 将关键字和描述添加到表格中。
  • J: 增加行号以便处理下一行。
  • K: 当遍历完成后,调整表格的列宽以适应内容。
  • L: 结束 tableInit 方法的执行。

相关文章:

Pyqt6的tableWidget填充数据

代码 from PySide6.QtWidgets import QTableWidget QTableWidgetItemdef tableInit(self):self.tableWidgetself.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)module_keyWord readJsonToDict(keyWordFileDir module_name) #读取模块关键字json字典数据s…...

ASP.NET Core - 依赖注入 自动批量注入

依赖注入配置变形 随着业务的增长,我们项目工作中的类型、服务越来越多,而每一个服务的依赖注入关系都需要在入口文件通过Service.Add{}方法去进行注册,这将是非常麻烦的,入口文件需要频繁改动,而且代码组织管理也会变…...

UVM 验证方法学之interface学习系列文章(十一)virtual interface 再续篇

一 前言 并非总是可以将被测单元(DUT)视为一个黑盒,即仅监控和驱动DUT的顶层端口信号。这一点在从模块级测试转向更大规模的系统级测试时尤为明显。有时,我们需要了解实现细节以便访问DUT内部的信号。这被称为白盒验证。 Verilog一直提供从其他作用域访问几乎任何层次结构…...

面试题整理5----进程、线程、协程区别及僵尸进程处理

面试题整理5----进程、线程、协程区别及僵尸进程处理 1. 进程、线程与协程的区别1.1 进程(Process)1.2 线程(Thread)1.3 协程(Coroutine)2. 总结对比 3. 僵尸进程3.1 什么是僵尸进程?3.2 僵尸进…...

OpenTK 中帧缓存的深度解析与应用实践

摘要: 本文深入探讨了 OpenTK 中帧缓存的使用。首先介绍了帧缓存的基本概念与在图形渲染管线中的关键地位,包括其与颜色缓存、深度缓存、模板缓存等各类缓存的关联。接着详细阐述了帧缓存对象(FBO)的创建、绑定与解绑等操作,深入分析了纹理附件、渲染缓冲区附件在 FBO 中的…...

第2节-Test Case如何调用Object Repository中的请求并关联参数

前提: 已经创建好了project(File -> New -> Project,Type:API/WebService),object repository中已经创建了RESTful endpoint(Object Repository -> New -> Web Service Request&am…...

【HarmonyOS NEXT】Web 组件的基础用法以及 H5 侧与原生侧的双向数据通讯

关键词:鸿蒙、ArkTs、Web组件、通讯、数据 官方文档Web组件用法介绍:文档中心 Web 组件加载沙箱中页面可参考我的另一篇文章:【HarmonyOS NEXT】 如何将rawfile中文件复制到沙箱中_鸿蒙rawfile 复制到沙箱-CSDN博客 目录 如何在鸿蒙应用中加…...

Android学习(六)-Kotlin编程语言-数据类与单例类

假设我们要创建一个表示书籍的数据类 Book,包含书名和作者两个字段。在 Java 中,代码如下: public class Book { String title; String author; public Book(String title, String author) { this.title title; this.author author; } Ove…...

CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究

论文标题 An Empirical Study of Scaling Law for OCR OCR 缩放定律的实证研究 论文链接: An Empirical Study of Scaling Law for OCR论文下载 论文作者 Miao Rang, Zhenni Bi, Chuanjian Liu, Yunhe Wang, Kai Han 内容简介 本论文在光学字符识别&#xf…...

力扣274. H 指数

给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发…...

挑战一个月基本掌握C++(第五天)了解运算符,循环,判断

一 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符 1.1 算术运算符 假设变量 A 的值为 10,变量 B 的值为…...

Python的sklearn中的RandomForestRegressor使用详解

文章目录 Python的sklearn中的RandomForestRegressor使用详解一、引言二、RandomForestRegressor简介1、随机森林回归原理2、RandomForestRegressor的主要参数 三、构建和训练模型1、数据准备2、数据划分3、模型训练 四、模型评估1、预测2、评估指标 五、特征重要性分析六、可视…...

ReactPress 1.6.0:重塑博客体验,引领内容创新

ReactPress 是一个基于Next.js的博客&CMS系统, Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 体验地址:http://blog.gaoredu.com/ 今天,我们自豪地宣布ReactPress 1.6.0版本的正式发布,…...

人脸生成3d模型 Era3D

从单视图图像进行3D重建是计算机视觉和图形学中的一项基本任务,因为它在游戏设计、虚拟现实和机器人技术中具有潜在的应用价值。早期的研究主要依赖于直接在体素上进行3D回归,这往往会导致过于平滑的结果,并且由于3D训练数据的限制&#xff0…...

kubeadm搭建k8s集群

前置环境: 准备三台虚拟机 192.168.1.104(用来做k8s的mater节点) 192.168.1.105(节点node2) 192.168.1.109(节点node3) 关闭防火墙 systemctl stop firewalld systemctl disable firewalld安装…...

centOS系统进程管理基础知识

进程的概念与属性 1.进程是系统中正在执行的代码片段,也可以称为一个程序。 2.操作系统通过分配进程编号(PID)来管理进程。 3.进程属性包括PID、PPID、UID、GID、状态、优先级、终端名和资源占用等。 PS命令与进程查看 1.PS命令用于查看进程…...

STM32中ADC模数转换器

一、ADC简介 ADC模拟-数字转换器 ADC可以将引脚连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC,1us转换时间 输入电压范围: 0~3.3V,转换结果范围:0~4095 18个输入…...

初学stm32 --- 外部中断

目录 STM32 IO 口中断基础知识 相关库函数: 使用 IO 口外部中断的一般步骤 STM32 IO 口中断基础知识 STM32 的每个 IO 都可以作为外部中断的中断输入口。STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立…...

wordpress调用指定分类ID下 相同标签的内容

要在WordPress中调用分类ID为1、3、7的分类下,具有相同标签的前10个内容,可以使用自定义的WordPress查询(WP_Query)。以下是实现此功能的步骤和示例代码: 步骤: 确定共同标签: 首先,你需要确定分类1、3、…...

SQL语法基础知识总结

一、引言 在当今数字化时代,数据的存储和管理至关重要。SQL(Structured Query Language),即结构化查询语言,是用于管理关系型数据库的强大工具。无论是开发 Web 应用、进行数据分析还是处理企业级数据,掌握…...

SlopeCraft:解锁Minecraft地图艺术创作的神器

SlopeCraft:解锁Minecraft地图艺术创作的神器 【免费下载链接】SlopeCraft Map Pixel Art Generator for Minecraft 项目地址: https://gitcode.com/gh_mirrors/sl/SlopeCraft 副标题:面向创意玩家的方块世界艺术生成工具,让照片秒变立…...

开箱即用!rwkv7-1.5B-g1a镜像部署与基础问答功能实测

开箱即用!rwkv7-1.5B-g1a镜像部署与基础问答功能实测 1. 镜像概述与核心优势 rwkv7-1.5B-g1a是基于RWKV-7架构的多语言文本生成模型镜像,专为轻量级AI应用场景设计。这个1.5B参数的模型在保持高效推理能力的同时,特别适合中文环境下的基础问…...

AI“龙虾热”背后:机遇与挑战并存

2026年,代号OpenClaw的AI智能体“龙虾”迅速引爆全球。它不仅能对话问答,还能独立完成多项任务。众多厂商跟进推出对标产品,产业链全面扩张,但背后也存在诸多问题。热潮背后的三重驱动“龙虾热”表层是春节AI红包大战流量普及与大…...

GLM-4.7-Flash功能体验:MoE架构+流式输出,感受30B大模型的丝滑对话

GLM-4.7-Flash功能体验:MoE架构流式输出,感受30B大模型的丝滑对话 1. 开篇:初识GLM-4.7-Flash 当我第一次在CSDN星图镜像广场看到GLM-4.7-Flash这个30B参数的大模型时,内心既期待又忐忑。期待的是它能带来怎样的智能体验&#x…...

告别数据孤岛:用RTKLIB str2str打通GNSS设备与上位机的通信全链路

高精度定位系统集成实战:RTKLIB str2str的数据枢纽架构设计 在自动驾驶测试场,一台搭载多传感器阵列的无人车正以厘米级精度重复着轨迹跟踪。工程师们通过监控屏观察着实时定位数据流——Ublox接收机的原始观测值、Septentrio的RTCM差分信号、IMU的惯性数…...

弦音墨影保姆级教程:解决‘米色宣纸背景不显示’‘朱砂按钮无响应’等常见问题

弦音墨影保姆级教程:解决‘米色宣纸背景不显示’‘朱砂按钮无响应’等常见问题 1. 引言:优雅水墨AI的实用指南 「弦音墨影」是一款将尖端人工智能技术与中国传统美学深度融合的视频理解与视觉定位系统。它以"水墨丹青"为视觉灵魂&#xff0c…...

springboot-vue基于web的智慧校园学生信息管理平台设计和实现

目录技术栈选择系统模块划分开发流程规划关键代码示例(后端)部署方案扩展性考虑注意事项项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术栈选择 后端采用Spring Boot框架,提供RESTful AP…...

【C++ 面试突击 · 05】大厂高频面试题:从内联函数到内存管理全梳理

目录 一、什么是inline函数? 二、inline函数的优缺点? 三、inline和宏定义的比较? 四、虚函数(virtual)可以是内联函数(inline)吗? 五、C中struct和class的区别? 六…...

避坑指南:用Python调用腾讯混元大模型API时,你可能会遇到的5个常见错误及解决方法

避坑指南:用Python调用腾讯混元大模型API时,你可能会遇到的5个常见错误及解决方法 调试API接口就像在迷宫中寻找出口——每个转角都可能遇到意想不到的障碍。作为使用腾讯混元大模型的开发者,我在过去三个月里处理了超过200次API调用异常&…...

Datart BI 工具数据库连接优化:解决 wait millis 5001 报错与连接池配置调整

1. 遇到 wait millis 5001 报错怎么办? 最近在帮客户部署 Datart BI 工具时,遇到了一个典型的数据库连接问题。每天早上业务高峰期,系统日志里就会频繁出现"wait millis 5001"的报错,但奇怪的是直接登录数据库服务器检查…...