我想用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