Python – PyQt – QTable Widget – agregando filas

Soy nuevo en PyQt y todavía estoy un poco confundido de todos modos. Tengo una estructura de archivo de texto como esta:

  • Nombre Apellido Teléfono Correo electrónico

Donde los espacios son en realidad tabs “\ t” ahora, cuando leo este archivo con mi método, deseo rellenar el widget de QTable.

Mi QTable Widget tiene 4 columnas llamadas Name , Surname , Telephone , Email ahora no tiene filas, pero al leer líneas del archivo y dividir cada línea por tabulador deseo agregar una nueva fila que en cada columna contenga lo que haya en la línea .

Alguien podría indicarme la dirección de cómo hacerlo, porque no puedo encontrar una solución o un método ofrecido por QTable Widget que le permita hacerlo.

Cuando desee rellenar QTableWidget , debe establecer los recuentos de filas y columnas antes de insertar el ejemplo de datos en la documentación (la documentación de PySide es mejor que la de PyQt). Y no puede simplemente insertar una cadena de texto separada por tabs en la tabla, debe prepararla usted mismo y luego rellenar la tabla con QTableWidgetItem llamando a QTableWidget.setItem . Se verá así:

 entries = [] with open('data') as input: for line in input: entries.append(line.strip().split('\t')) tableWidget.setRowCount(len(entries)) tableWidget.setColumnCount(len(entries[0])) for i, row in enumerate(entries): for j, col in enumerate(row): item = QTableWidgetItem(col) tableWidget.setItem(i, j, item) 

Supongo que tiene data archivo de data con sus entradas y tableWidget es la instancia de QTableWidget .

En este ejemplo, el archivo se analizó a mano, pero considere usar el módulo csv standart para esta tarea.