//获取treewidget第二列的内容(地址)来读取不同名称的csv文件
void StatisticsWidget::TreeWidgetLeftChecked(QTreeWidgetItem * widgetitem, int index)
{
QStringList filepath;
QTreeWidgetItem* curItem = ui.treeWidget->currentItem();
if (curItem != NULL)
{
filepath << curItem->text(1); //获取第二列的内容(地址)
QString strpath;
for (int i = (filepath.size() - 1); i >= 0; i–) //QStringlist类filepath反向存着初始item的路径
{ //将filepath反向输出,相应的加入’/‘
strpath += filepath.at(i);
}
qDebug() << strpath;
readExcel(strpath);
}
}
//读取csv文件到tablewidget
ui.tableWidget->setColumnCount(7);//设置表格的列数(我的是7个,如果你的还是跟行数一样不确定按照写行数的写)
void StatisticsWidget::readExcel(const QString &path)
{
QFile file(path);
file.open(QIODevice::ReadOnly | QIODevice::Text);
QTextStream in(&file);
QString line;
QStringList fields;
int row = 1;
while (!in.atEnd())
{
line = in.readLine();
linesStr.push_back(line);
fields = line.split(’,’);//按照","分割字符,因为csv文件是以逗号间隔数据的
for (int column = 0; column < fields.size(); column++)
{
ui.tableWidget->setRowCount(row);//设置行数(根据内容行数设计表格行数)
ui.tableWidget->setItem(row - 1, column, new QTableWidgetItem(fields[column]));//显示数据
}
row++;
}
}
QT 点击treeWidge 的item读取csv文件的地址读取文件内容到tablewidget
最新推荐文章于 2023-12-26 13:25:03 发布