我是 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(使用前将#替换为@)