干货:表格实时回填

表格实时回填:set_result 如何驱动结果预览

目标:结果一回来,表格立刻刷出来

引擎识别完,主线程收到结果,要把"批号 + 元素 + 值"这类结构化数据实时填进右侧结果预览表。

核心就是 set_result:把 dict 数据逐行塞进 QTableWidget。

代码

python 复制代码
def set_result(self, result, batch_count, element_count):
    # result: {"批号": {"元素": 值}}
    self._result = result            # 先留着,之后导出要用
    self.table.clearContents()
    self.table.setRowCount(0)
    for batch, elements in result.items():
        for element, value in elements.items():
            r = self.table.rowCount()
            self.table.insertRow(r)
            self.table.setItem(r, 0, QTableWidgetItem(str(batch)))
            self.table.setItem(r, 1, QTableWidgetItem(element))
            self.table.setItem(r, 2, QTableWidgetItem(str(value)))

    self.summary.setText(f"共 {batch_count} 个批号,{element_count} 个元素")

关键点

  1. 先清空再填充,避免旧数据残留。
  2. 行数动态 :insertRow 按数据量增长,不预设死表。
  3. 保留 self._result:导出、回传要靠它,不能只在表格里呆着(这是一个踩过的坑)。
  4. 滚动 :数据多时 scrollToBottom() 让用户看到最新。

第一性原理:表格是视图,_result 才是数据源

QTableWidget 只是展示 。真正要用的数据得存一份在内存(self._result),表格每次重新渲染。别指望从表格控件里读数据,那样又慢又脆。

谁调用它

主线程 _handle_result 收到引擎结果,就调 direct_page.set_result(...) 把数据喂给表格视图。表格只是最后一个落点。

一句话:数据存在模型里,表格只是刷新出来给看。set_result 就是"把模型数据渲染成表格视图"的那个口子。


相关推荐
投图匠6 小时前
十种不同风格的 CTP接口 框架
开发语言·python
2601_967980117 小时前
深入理解词向量算法及其在Python中的实践
python·word2vec·glove·fasttext·词向量
129Lab8 小时前
电池循环测试数据自动化分析:用Python+AI工具构建一键式寿命评估流水线
python·数据分析·电池测试·数据自动化·寿命评估
treasure1408 小时前
【复古】浅尝Django前后端不分离
前端·css·python·django·bootstrap·html·web
Dmz丶9 小时前
前端转 AI 100 天 Day 44:前端集成实战——用 React 给 Agent 做个正式界面
python
jay神9 小时前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计
DeepVisionary9 小时前
阿里云上线旗舰多模态新模型,不公布跑分且限时14天退役
python·自动化
东莞市云毅网络有限公司9 小时前
FAQ 覆盖度打分:TF-IDF 与向量嵌入双路召回的 Python 实现
python·数据清洗·rag·企业知识库·文档解析
爱笑的k119 小时前
nano-vllm 源码剖析:千行 Python 手写离线推理引擎的调度、显存与并行时序
开发语言·python·vllm
用户83562907805110 小时前
使用 Python 控制 Excel 工作表的分页位置
后端·python