如何从数据库创建QTreeView文件夹和文件视图?

时间:2015-04-15 16:43:56

标签: python-2.7 pyqt4 qtreeview qtreewidgetitem

我正在使用pyqt4而我正在尝试创建一个包含相册的QTreeView,其中包含图片。它们应该由两个数组创建(它们是从oracle数据库创建的)

album=[[1,'my life'],[2,'my job']]
picture=[[1,1,'My daugther'],[1,2,'my son'],[2,1,'my boss'],[2,2,'my jobmate']]

如何将此数据加载到QTreeView中?或者最好使用QTreeWidget?

  

我的生活    - 我的女儿
   - 我的儿子
  我的工作    - 我的老板
   - 我的同伴

1 个答案:

答案 0 :(得分:0)

我解决了它。代码可能是这样的:

model = QStandardItemModel(0,1)
self.treeMedia.setModel(model)
#codus is the id of the user albums and photos' owner
for rowalb in self.SELECT_TREE_ALBUM(codus):
#we create the album item
    nodeItem = QStandardItem(str(rowalb[1]).decode('utf-8'))
    for rowph in self.SELECT_TREE_PHOTO(int(rowalb[0])):
        #after that we create photos into an album
        childItem = QStandardItem(str(rowph[0]))
        childItem.setEditable(False)
        nodeItem.insertRows(0, [childItem])
    nodeItem.setEditable(False)
    model.appendRow(nodeItem)
#the name of the column
model.setHorizontalHeaderLabels(['Data'])

SELECT_TREE_ALBUM和SELECT_TREE_PHOTO是从oracle数据库返回数据的过程。