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入门教程数据模型篇模型/视图教程

Qt入门教程数据模型篇模型/视图教程

Qt入门系列开发教程高级控件篇QTreeWidget树形小部件

带有使用 QAbstractTableModel 子类的 Qt 小部件的 MVC

我可以在基于模型的 QListView 中使用自定义小部件作为视图吗?

在 Qt 中的小部件内部绘画