我正在尝试将填充了QSQLTableModel数据的QTableView转换为CSV文件。我目前的代码如下(实际上与此处发布的内容类似):
QFile f( "table.csv" );
if (f.open(QFile::WriteOnly | QFile::Truncate))
{
QTextStream data( &f );
QStringList strList;
for( int r = 0; r < ui->table->model()->rowCount(); ++r )
{
strList.clear();
for( int c = 0; c < ui->table->model()->columnCount(); ++c )
{
QVariant data = ui->table->model()->index( r, c ).data();
strList << "\" "+data.toString()+"\" ";
}
data << strList.join( ";" )+"\n";
}
f.close();
}
除了区域设置不正确,即双打,日期等中的点/逗号以外,这种方式非常有效。应用程序区域设置是正确的,但QTableView正确显示所有内容。
有什么方法可以设置QLocale或在转换QVariant :: toString时以某种方式使用它