по-ефективно решение за запис на QTableWidget

Чета PyTable с 1320000 реда x 16 колони

Идеята е да се прочете таблицата и да се запише нейното съдържание в 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

person codeKiller    schedule 04.03.2014    source източник
comment
С огромна маса като тази... НЕ ИСКАТЕ да поставите цялата маса в джаджата. Искате сами да приложите превъртането, така че пишете в джаджата само това, което действително се вижда на екрана.   -  person Corley Brigman    schedule 04.03.2014
comment
Благодаря Корли, вече мислех за това, но нямам идея как да направя това превъртане. Някакво предложение или някое място, където мога да прочета за това?. Благодаря!   -  person codeKiller    schedule 04.03.2014