背景:设备上的计数统计放入了csv文件,方便导出查看,在设备上能否一样查看呢,虽然设备的屏幕有限制,但是做一个基本的预览还是可行的。
代码:
ui->tableWidget->setColumnCount(10);
ui->tableWidget->setRowCount(15000);
QFile file("/work/bin/outputs/slides.csv");
file.open(QIODevice::ReadOnly | QIODevice::Text);
QTextStream in(&file);
QString line;
QStringList fields;
int row = 0;
while(!in.atEnd()){
line = in.readLine();
linesStr.push_back(line);
fields = line.split(',');
for(int column = 0; column<fields.size();column++){
ui->tableWidget->setItem(row, column, new QTableWidgetItem(fields[column]));
}
row++;
}
QStringList headers;
headers << QStringLiteral("Time") << QStringLiteral("Data") << QStringLiteral("Data") << QStringLiteral("Data") << QStringLiteral("Data")
<< QStringLiteral("Data") << QStringLiteral("Data") << QStringLiteral("Data") << QStringLiteral("Data") << QStringLiteral("Data") ;
ui->tableWidget->setHorizontalHeaderLabels(headers);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
ui->tableWidget->resizeColumnToContents(10);
ui->tableWidget->update();
- tableWiget:Qt提供的表格类。
- setRowCount:设置行数。
- setColumnCount:设置列数。
- QIODevice::ReadOnly:文件可读写。
- QIODevice::Text:文件中换行符生效。
- QTextStream:会自动将 Unicode 编码同操作系统的编码进行转换,这一操作对程序员是透明的。它也会将换行符进行转换,不需要自己去处理。
- setHorizontalHeaderLabels():自定义表头内容。
- horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch):设置表格随窗口大小自适应。
- horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents):设置某列随列里的内容自适应,避免出现数据显示不全。
- update():更新数据显示。