1
A
回答
0
請原諒的事實,我必須提供在python(PyQt4中)我的例子。有兩種方法可以解決您的問題。您可以將您的QVariantMap數據推送到與您的視圖相關的模型中,該模型可以獨立管理,或者您必須定義自己的模型,將QVariantModel作爲數據源來包裝以主動驅動數據。
我正在提供一個將數據推送到標準模型的簡單示例。在python中沒有QVariantMap,所以我使用了關鍵int => QVariant字符串值的字典。
class View(QtGui.QWidget):
def __init__(self):
super(View,self).__init__()
self.layout = QtGui.QVBoxLayout(self)
self.table = QtGui.QTableView()
self.layout.addWidget(self.table)
self.button = QtGui.QPushButton("Update")
self.layout.addWidget(self.button)
# Using a normal QStandardItemModel and setting
# it on the table view.
self.model = QtGui.QStandardItemModel(self)
self.table.setModel(self.model)
self.button.clicked.connect(self.populate)
def populate(self):
# no QVariantMap in PyQt4. Creating a dictionary on the fly
# of int key => QVariant string... {0: QVariant('foo'), ...}
variantMap = {i:QtCore.QVariant('foo') for i in xrange(10)}
col = 0
row = 0
# loop over each element in your map, and add a QStandardItem
# at a specific row/column
for name, val in variantMap.iteritems():
item = QtGui.QStandardItem(val.toString())
self.model.setItem(row, col, item)
row += 1
我創建了一個QTableView和一個QStandardItemModel。然後我在視圖上設置模型。我創建了一個連接到填充插槽的按鈕。當這個插槽被調用時,我創建一個「QVariantMap」類型的對象來模擬你的數據容器。然後我遍歷該容器的內容,併爲每個單元格創建一個QStandardItem
。我將該項目設置到特定列和行的模型中。在這個例子中,我只使用了第0列,並添加了行。
我希望這個例子很容易轉化爲你的情況。
相關問題
- 1. QTreeView設置列大小內容,沒有多行(固定行高)
- 2. 將內容設置爲TinyMCE on document.ready
- 3. WSGI - 將內容類型設置爲JSON
- 4. 將div設置爲內容的100%
- 5. 將PDF的內容設置爲中心
- 6. 將焦點設置爲ContentPresenter的內容
- 7. 將焦點設置爲iframe內容
- 8. 將內容設置爲aloha可編輯?
- 9. 將div的內容設置爲小寫
- 10. 根據內容將ComBox設置爲ComboBoxItem
- 11. 將textblock內容設置爲來自設置的字符串
- 12. 設置一個QTreeView則頭
- 13. 設置內容
- 14. 使用QDataStream將QVariantMap序列化爲QByteArray
- 15. 將內容容器設置爲非父母身體的100%
- 16. 將div內容高度設置爲同一div內的圖像
- 17. 將所有內容設置爲默認值的CSS重置
- 18. 將QVariantMap傳遞給Javascript(QtWebkit)
- 19. 設置EditText內容
- 20. 設置WebView內容
- 21. 爲什麼JavaScript將我的div內容設置爲小寫?
- 22. JS如何將對象設置爲eval作爲內容?
- 23. 如何將索引中的緩存文件內容設置爲任意內容
- 24. 爲Magento設置內容長度標題
- 25. 數據庫內容設置爲0
- 26. 如何設置TabItem的內容爲CommandTarget
- 27. 在UITableViewCell中爲UIScrollview設置內容
- 28. 爲ListBoxItem的內容設置DisplayMemberPath
- 29. 指定MongoDBObject爲$內容設置
- 30. 最初設置內容div爲零
你想讓你的地圖充當數據源,還是隻是一個臨時容器?您可以使用標準模型並將數據加載到其中...但是如果您想直接使用地圖,則必須將其包裝到模型中。 – jdi 2012-08-05 02:58:43
我只是想將我的地圖中的數據顯示在樹形視圖中 – Ameen 2012-08-05 03:01:23