Son dos pasos, analizan el archivo y luego lo insertan en el widget.
Agarré estas líneas del QFile documentation.
QFile file("in.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
while (!file.atEnd()) {
QByteArray line = file.readLine();
process_line(line);
}
Su función process_line debería tener este aspecto:
static int row = 0;
QStringList ss = line.split('\t');
if(ui->tableWidget->rowCount() < row + 1)
ui->tableWidget->setRowCount(row + 1);
if(ui->tableWidget->columnCount() < ss.size())
ui->tableWidget->setColumnCount(ss.size());
for(int column = 0; column < ss.size(); column++)
{
QTableWidgetItem *newItem = new QTableWidgetItem(ss.at(column));
ui->tableWidget->setItem(row, column, newItem);
}
row++;
Para obtener más información acerca de la manipulación de QTableWidgets, comprobar el documentation. Para los nuevos usuarios que usan el constructor de GUI en Qt Creator, es complicado descifrarlo al principio.
Eventualmente recomendaría cambiar a la construcción de la GUI como lo hacen en todos sus examples ... agregando todo a mano en el código en lugar de arrastrar y soltar.
Esta pregunta es muy vaga, ¿Está utilizando MVC o los widgets de 'tradicionales'? Un widget de tabla es 2D, entonces, ¿cómo se va a presentar el texto en la tabla? – cmannett85
En Qt Creator, hay un control de GUI llamado Table Widget que es lo que estoy usando. Pensé que la pregunta era directa. Quiero rellenar una tabla en mi GUI con un archivo de texto delimitado por tabulaciones como fuente de los datos. Si usar un widget de tabla, no es el mejor enfoque, estoy abierto a otras sugerencias. Como mencioné, soy nuevo en Qt. –
Bien 'QTableWidget' es la mejor opción si desea mostrar solo texto, en una cuadrícula 2D, sin compartir los datos con ningún otro widget. También obtendrás una mejor respuesta si solo haces una sola pregunta en tu publicación: cargando un archivo de texto, analizándolo en cadenas separadas y luego empujándolos hacia un widget de tabla; son tres procesos muy diferentes, y me sorprendería si cada uno de ellos no se explica en este sitio o los documentos. – cmannett85