更有效的QTableWidget写入解决方案

时间:2014-03-04 13:44:01

标签: python performance qtablewidget pytables

我正在读一个PyTable,有1320000rows x 16cols

想法是读取表格并将其内容写入QTableWidget。

我这样做会让GUI崩溃。

我想知道如何以有效的方式做到这一点。

这是我的代码:

#The PyTable is already opened and the reference to the desired table acquired

self.ui.tableWidget.setRowCount(tab.nrows)
self.ui.tableWidget.setColumnCount(len(tab.colnames))
self.ui.tableWidget.setHorizontalHeaderLabels(tab.colnames)
res = []

#Read the PyTable row by row and store the result
for x in tab.where('col1 > -1'):
    res.append(x[:])

#Try to write the QTableWidget row by row
for i, row in enumerate(res):
    for j, col in enumerate(row):
        item = QTableWidgetItem(str(col))
        self.ui.tableWidget.setItem(i, j, item)   

#NOTE 1: with a PyTable with 1000rows X 16cols rows aprox it works perfect
#NOTE 2: with the huge PyTable with 1320000rows x 16cols, it does not work

0 个答案:

没有答案