在典型的数据库设置中,某个项的实例表示为表中的行,并且该项的属性是在该行的列中定义的(例如 Name 表,其中包含 Name | Age | Address 的列) .

Qt的模型/视图编程框架让人联想到数据库(我们可以将模型看作具有索引的表来引用特定的行和列),但是,这些索引点本身可以充当子模型的父项并包含任意大量的键值数据配对(在Qt文档中称为"roles" . 例如,对于任何给定的数据项,通常都有 display-text 角色和 tooltip 角色,以及用户想要定义的任何角色) .

我对何时使用项目角色和何时为数据引入新列之间的界限感到朦胧 . 我是否因为在数据库表方面考虑Qt模型而困惑自己?

感谢您的帮助!

http://doc.qt.io/qt-5.9/model-view-programming.html#basic-concepts