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