2014-09-28 58 views
0

我需要獲取數組中的所有行。獲取所有數據樹視圖?

就像這樣,此代碼從樹視圖返回樹視圖中的所有數據以及數組中的所有項。我認爲我沒有正確的方法;我怎樣才能解決這個問題?

from PyQt4 import QtGui, QtCore 

class Window(QtGui.QMainWindow): 
    def __init__(self): 
     QtGui.QMainWindow.__init__(self) 
     self.model = QtGui.QStandardItemModel() 

     self.view = QtGui.QTreeView() 

     #self.view.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) 
     self.view.setModel(self.model) 
     self.setCentralWidget(self.view) 
     #parent = self.model.invisibleRootItem() 
     self.model.setHorizontalHeaderLabels(["Referencia","Nombre","Costo","UND","Precio"]) 

     for item in '1234 name 9999 10000'.split(): 
      self.model.appendRow([QtGui.QStandardItem(item),QtGui.QStandardItem(item),QtGui.QStandardItem(item), 
            QtGui.QStandardItem(item),QtGui.QStandardItem(item), 
            ]) 
     #self.view.setColumnWidth(0,50) 

if __name__ == '__main__': 

    import sys 
    app = QtGui.QApplication(sys.argv) 
    window = Window() 
    window.show() 
    sys.exit(app.exec_()) 
+0

你所說的「得到」的所有行,並從什麼陣是什麼意思?我沒有看到任何返回任何東西。 – mdurant 2014-09-29 18:59:10

+0

謝謝。 已經修復。 道歉但不太懂英文。 – sistemasnegros 2014-09-29 23:29:28

回答

0
model = tableView.model() 
data = [] 
for row in range(model.rowCount()): 
    data.append([]) 
    for column in range(model.columnCount()): 
     index = model.index(row, column) 
     data[row].append(str(model.data(index).toString()))