Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2014, 08:21
edanvar
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 11 años, 1 mes
Puntos: 0
Pasar una PyTable muy grande a un QTableWidget

Hola,

Tengo una PyTable muy grande, mas de un millon de lineas, la idea es mostrarla en una GUI dentro de una QTableWidget.

Me gustaria saber como hacer esto de forma que no se muestre toda la tabla de golpe en la QTableWidget, porque es demasiado grande.

Me gustaria saber como hacer que se muestren solo unas lineas, 50 o 100, y segun se va haciendo scroll en la QTableWidget, se vayan mostrando las demas hasta el final.

El problema que estoy teniendo al intentar hacerlo de golpe es que se me bloquea la GUI, este es el codigo que estoy utilizando para hacerlo:

Código Python:
Ver original
  1. #Con la PyTable abierta y obtenido el nodo a la tabla
  2.  
  3. self.ui.tableWidget.setRowCount(tab.nrows)
  4. self.ui.tableWidget.setColumnCount(len(tab.colnames))
  5. self.ui.tableWidget.setHorizontalHeaderLabels(tab.colnames)
  6. res = []
  7.  
  8. #Intento leer y almacenar la PyTable
  9. for x in tab.where('col1 > -1'):
  10.     res.append(x[:])
  11.  
  12. #Intento escribirla en el QTableWidget
  13. for i, row in enumerate(res):
  14.     for j, col in enumerate(row):
  15.         item = QTableWidgetItem(str(col))
  16.         self.ui.tableWidget.setItem(i, j, item)  
  17.  
  18. #Haciendo esto con la PyTable de mas de un millon de lineas, no funciona

Me gustaria saber si alguien me puede indicar como hacerlo segun he dicho arriba, intentando que solo se muestre un trozo, y se vaya mostrando poco a poco al hacer scroll.

Gracias.