PDA

View Full Version : CSV file content to QTablewidget view



vishnu
21st October 2010, 07:52
Hi,

Is there any one to solve the listed problem below,

Requirement : I want to read the CSV file and displaying to Table view.

Is QT having any default class for reading CSV files ? and How can we display the string content inside Table?

Thanks in advance

vishnu
21st October 2010, 08:06
Adding what I tired to insert table content inside Table,


while(tableIndex<tableSize)
{
QTableWidgetItem* item = new QTableWidgetItem;
item->setText(obj.number);
ui->tableWidget->setItem(tableIndex, 0, item);

QTableWidgetItem* item1 = new QTableWidgetItem;
item1->setText(obj.aritst);
ui->tableWidget->setItem(tableIndex,1, item1);

QTableWidgetItem* item2 = new QTableWidgetItem;
item2->setText(obj.producer);
ui->tableWidget->setItem(tableIndex,2, item2);

QTableWidgetItem* item3 = new QTableWidgetItem;
item3->setText(obj.title);
ui->tableWidget->setItem(tableIndex,3, item3);

QTableWidgetItem* item4 = new QTableWidgetItem;
item4->setText(obj.lyrics);
ui->tableWidget->setItem(tableIndex,4, item4);
}

It is working fine. But the problem is, I am using pointer object to insert an item. If i want to insert 5row 10 column means 5X10 = 500 object pointers I have to use :( .

Lykurg
21st October 2010, 08:20
There is no problem having 500 items on the heap. But if you don't like it, make a custom model.

EDIT: Also have a look at linqxt: QxtCsvModel (http://doc.libqxt.org/tip/qxtcsvmodel.html)

vishnu
21st October 2010, 08:41
Thanks Lykurg.

One more solution also neededed,

We are getting some search result one by one as a String from CSV file and we need add them inside table . How can we do this?

Lykurg
21st October 2010, 08:56
adjust the dimensions of your table and insert the new item, or model based: just add an item to the model, and the view will handle all necessary things.

vishnu
22nd October 2010, 10:04
Thank u very much!~~


One stupid question, I gonna ask !



for (int row=0;row<10000; row++)
for (int col=0;col<6; col++)
ui->tableWidget->setItem(row, col,new QTableWidgetItem(QString::number(col)));


Here I am creating dynamic object using for 'QTableWidgetItem' using 'new' operator!

Is there any way to find the size of the entire Table item?

Please help me here!