1

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

4

0 回答 0