使用正确的Locale从QSQLTableModel获取CSV

时间:2015-04-09 15:29:29

标签: c++ qt csv qabstracttablemodel qsqltablemodel

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

0 个答案:

没有答案