我想用Qt为用户定义对象集合提供一个图形界面。例如,我可能有以下Python类Qt:用户定义对象列表
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
和实例
people = [Person('John', 60), Person('Laura', 33)]
我现在想用Qt来呈现people
元素的可浏览列表的链接列表。也许我想在用户点击这个列表中的人名时允许某些信息显示在各种文本框中。
Qt文档包含address book这是非常好的比赛,以我自己来说的例子,但有两个重要的事情,从这个教程
- 在地址簿中缺少的教程中,实际的数据(在这种情况是各种地址)存储在QMap中。每个名称和地址都表示为一个QString。 QMap将名称映射到地址。这对于这个简单的例子来说很好,但是我想围绕我的自己的数据打包一个Qt接口。这是如何完成的?
- 地址簿不显示如何显示现有地址簿条目的列表。
我认为模型/视图体系结构的概念与此相关,因此我已阅读model/view文档。这个文档似乎强调使用Qt内置的容器类。这很好,但最后我想把它包装在我自己的数据结构中,而且我还没有找到解释如何做到这一点。
问题:
- 我如何编写代码通过Qt的列表或其他图形界面来揭露我自己预先存在的数据?
- 有关模型/视图系统的文档非常混乱。 Qt如何期待数据和关联的可视类被组织?
我致力于理解并改进他人的文档。如果这个线程吸引注意力和有用的信息,我会尝试在Qt网页上正确存档。
谢谢
谢谢,这很有用。我想通过使用QAbstractListModel我可以弄明白。如果我得到了一些工作,我会在这里发布源代码。如果有人会用C++编写一个Qt页面的例子,那也是非常好的。 – 2013-04-22 18:34:19
@MartinisGroup乐于助人。 – 2013-04-22 18:35:01