我正在尝试将填充了 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 时以某种方式使用它???