QTableWidget 与 QTableView

2023-12-25

我是 Qt 模型/视图框架的新手。在我的应用程序中,我想要有 1000 X 1000 个单元格。应该有最低的内存要求并且应该很快。我不知道这个模型术语的用途是什么。但我有自己的类,它知道如何处理表中存储的双变量。目前我正在使用带有验证器的 QLineEdit 来创建单元格数组。但对于 > 50 X 50 的单元格来说,它太慢了。所以我决定采用旧的 MS Excel 方式。

那么我应该使用哪个小部件:QTableWidget or QTableView?

谁能简单解释一下这个模型/视图框架是什么?我不是计算机科学人士,因此我发现很难理解......


cmannett85 的推荐很好。阅读文档大约十几次。

然后,如果性能和内存问题是您最关心的问题,并且您认为您可以超越 QTableWidget 实现,那么QTableView http://qt-project.org/doc/qt-4.8/qtableview.html界面顶部QA抽象表模型 http://qt-project.org/doc/qt-4.8/QAbstractTableModel.html or Q标准项目模型 http://qt-project.org/doc/qt-4.8/qstandarditemmodel.html这就是您正在寻找的。

由于您不熟悉 Qt 的模型视图架构,因此我建议您使用 QStandardItemModel,直到您感觉自己已经掌握了它的窍门。如果您的性能仍然不够好,请通过实现自定义模型来避免大量内存重复和对象浪费。另外,让自己一本好教科书 https://rads.stackoverflow.com/amzn/click/com/0132354160并阅读了有关模型视图框架的章节大约 12 遍。恕我直言,仅此部分就值得同等重量的黄金。

以下是 Qt 自定义模型视图框架的基础知识:

  • Your 实际数据存储在列表/树中的某个位置
  • The model提供用于查询和编辑数据的标准框架
  • 代理模型允许您在不影响原始模型的情况下对数据进行排序/过滤
  • The view提供了一种视觉手段observe and 与。。。相互作用你的数据
  • 代表们(通常是可选的)调整数据的外观并为数据提供自定义编辑器

如果你既便宜又勇敢,请查看这段摘录 http://www.informit.com/articles/article.aspx?p=1750226实现您自己的自定义模型。一次只处理一项功能,然后边玩边玩。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QTableWidget 与 QTableView 的相关文章

随机推荐

  • 如何根据名称为单个条形着色[重复]

    这个问题在这里已经有答案了 我有以下数据框生成以下图 Import pandas library import pandas as pd import numpy as np import matplotlib pyplot as plt
  • 如何启用映射实体的私有属性

    一开始我不得不对我的英语说抱歉 我正在使用实体框架和代码优先的方式 我脑子里有一个想法 但我不知道如何实现它 我不是编程初学者 但我一直在使用流利的 NHibernate 我有一个实体 public class User Key publi
  • Excel 互操作:Range.FormatConditions.Add 抛出 MissingMethodException

    我正在编写一个应用程序 它使用 Microsoft Office Interop Excel 程序集从 Excel 电子表格导出 导入数据 一切都很顺利 除了基于 1 的索引和所有这些可选参数 直到我尝试使用条件格式 当我调用 Range
  • 什么是有效的 HTML5 自定义标签?

    最近 我一直在阅读有关如何通过在名称中添加破折号来使自定义标签在 HTML5 中有效的内容 因此我一直想知道自定义标签的实际规则 指南是什么 custom tag custom X custom custom 我想知道的是最后两个是否有效
  • Apache 和 Node.js 在同一服务器上

    我想使用 Node 因为它速度很快 使用与我在客户端使用的语言相同的语言 并且根据定义它是非阻塞的 但是我雇来编写文件处理程序 保存 编辑 重命名 下载 上传文件等 的人 他想使用 apache 所以 我必须 说服他使用 Node 他对此几
  • 从 groovy 中访问 java 类

    我有一个简单的java类 package test class Hello public static void main String args System out println Hi 我在上面做了一个 javac Hello jav
  • 无法解决联合选择中的排序规则冲突

    我有两个疑问 首先不起作用 select hotels TargetCode as TargetCode from hotels union all select DuplicatedObjects duplicatetargetCode
  • Google Scripts - 在不同的工作表中触发和运行

    我需要 创建一个新工作表 调用主函数 设置一个将调用 main 函数的触发器 基本上是这样的 function new campaign var sheet name new sheet main function sheet name t
  • SQL 左连接将多行合并为一行

    基本上 我有两个表 表 A 包含我想要取出的实际项目 表 B 用于语言翻译 例如 表 A 包含实际内容 每当在表中使用文本时 都会存储与表 B 中存储的文本相关的 id 而不是存储实际的 varchar 值 这使我可以通过向表 B 中添加
  • Laravel Guzzle GET 请求

    client new Client base uri gt http api tvmaze com res client gt request GET schedule country US date 2014 12 01 return r
  • 为什么空数组引用的数组访问表达式不会抛出 NullPointerException?

    考虑以下代码 int r null r 0 1 0 我本以为这会引发NullPointerException 根据JLS 第 15 7 1 节 https docs oracle com javase specs jls se8 html
  • 如何在自己的 shell 中实现自己的 cd 命令[重复]

    这个问题在这里已经有答案了 我正在一个小型项目中工作 我自己的命令解释器 SHELL 例如 Bash shell 或 Sh shell 到目前为止 它可以执行所有预定义的命令 如 ls ps pwd date 除此之外 我还实现了一些其他操
  • 在不配置 Amazon Cognito 的情况下使用 Amazon Mobile Analytics

    与竞争的分析服务相比 Amazon Mobile Analytics 似乎需要更多的配置和集成步骤 例如 在 Flurry Analytics 中 设置非常简单 Flurry startSession
  • 输入格式是否负责在 Hadoop 的 MapReduce 中实现数据局部性?

    我试图了解数据局部性 因为它与 Hadoop 的 Map Reduce 框架相关 特别是我想了解哪个组件处理数据局部性 即它是输入格式吗 雅虎的开发者网络页面 http developer yahoo com hadoop tutorial
  • 如何使用斯坦福解析器

    我下载了Stanford parser 2 0 5 并使用包中的Demo2 java源代码 但编译并运行该程序后 出现很多错误 我的程序的一部分是 public class testStanfordParser Usage ParserDe
  • 如何消除颤振上文本上方和下方的间隙[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我试图将文本 Hello 放在 123 的正下方 但是文本越大 间隙就越大 怎样消除间隙 下面添加了颤振图像 到目前为止
  • 如何提取terraform中的敏感输出变量?

    我有一个 terraform 配置 它创建一个带有访问密钥的 AWS IAM 用户 并将 id 和 Secret 分配给输出变量 resource aws iam access key brand new user user aws iam
  • 用数学方法将两个字符串相加?

    我正在浏览论坛 但仍然找不到问题的答案 我有两个字符串 它们实际上是一个数字数组 例如 我只是选择随机数 string input1 12345678909876543212 string input2 12345 我想将这两个字符串加在一
  • 如何让 MSTest 找到我的测试数据文件?

    我有一些测试需要使用 Excel 文件中的外部数据 这些文件包含在测试项目中 并且在 Visual Studio 中 我编辑了测试设置文件 Local testsettings 来部署数据文件 这使得它在 VS 中工作得很好 然而 我们也在
  • QTableWidget 与 QTableView

    我是 Qt 模型 视图框架的新手 在我的应用程序中 我想要有 1000 X 1000 个单元格 应该有最低的内存要求并且应该很快 我不知道这个模型术语的用途是什么 但我有自己的类 它知道如何处理表中存储的双变量 目前我正在使用带有验证器的