Qt 模型/视图与标准小部件
Posted
技术标签:
【中文标题】Qt 模型/视图与标准小部件【英文标题】:Qt model/view vs standard widget 【发布时间】:2013-01-22 14:46:21 【问题描述】:我目前正在从 Qt 读取模型/视图 tutorial,但我仍然不确定是否应该为我的 Qt 程序使用模型/视图或小部件:
我需要做一个记录器应用程序来监控模拟环境中的所有信息。基本情况可能是:
-
用户 1 对虚拟实体 B 说了什么(记录器应用程序获取用户 1 所说的内容并将其显示在表格视图或列表视图中)
虚拟实体 B 回复用户 1 (记录器应用程序获取用户 1 所说的内容并将其添加到表格视图或列表视图中)
等
此记录器应用程序的需要是实时获取此信息,而且收集的数据将不可编辑。本质上,这只是为了显示日志。
那么,对于我想做的事情,使用 modal/view 或小部件是否值得?
谢谢
【问题讨论】:
我会说使用小部件,一些信号好东西,你很高兴,不需要过度设计模型/视图。 【参考方案1】:我有类似的目标和类似的问题。我查看了两种解决方案。
我创建了 20 mb 大小的日志文件。然后,我用自己的模型把他加载到QTableView,用标准模型加载到QTableWidget。
QTableView 比 QTableWidget 更快(大约 30 秒)(大约 1.5 分钟),但使用 QTableWidget 的解决方案更容易。
关于你的问题,我认为,如果你有大日志(许多信息必须立即加载),你应该使用 QTableView 和自己的模型。其他更轻松的是使用标准模型的 QTableWidget。
【讨论】:
【参考方案2】:如果日志条目没有保存在数据库表中,请使用小部件,否则我会查看模型/视图
【讨论】:
以上是关于Qt 模型/视图与标准小部件的主要内容,如果未能解决你的问题,请参考以下文章
Qt入门系列开发教程高级控件篇QTreeWidget树形小部件
带有使用 QAbstractTableModel 子类的 Qt 小部件的 MVC