Qt关于csv的生成和读取

void createCSV()
{
    QFile file("test.csv");
    if(!file.open(QIODevice::WriteOnly| QIODevice::Append))
    {
        return;
    }
    QTextStream out(&file);
    QTextCodec* code = QTextCodec::codecForName("UTF-8");
    out<<code->toUnicode("测试1,测试2,测试3\n");
    out<<code->toUnicode("1,2,3\n");
    out<<code->toUnicode("4,5,6\n");
    out<<code->toUnicode("7,8,9\n");
    out.flush();
    file.close();
}
void slot_readCSV()
{
    QFile file("test.csv");
    if(!file.open(QIODevice::ReadOnly))
    {
        return;
    }
    QTextStream in(&file);
    QTextCodec* code = QTextCodec::codecForName("UTF-8");
    QList<QStringList> list;
    while(!in.atEnd())
    {
        QString data = code->fromUnicode(in.readLine());
        QStringList dataList = data.split(",");
        list.append(dataList);
    }
    qDebug()<<list;
    int count = list.size();
    for(int i=0;i<count;i++)
    {
        QString str = list.at(i);
         ui->plainTextEdit->appendPlainText((list.at(i)));
         ui->plainTextEdit->appendPlainText("\n");
    }
    qDebug()<<list;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,关于 Qt 读取 CSV 文件并生成动态折线图的代码,我可以为您提供一份示例代码。请注意,由于我是一个 AI,可能对编程细节和语法方面的问题无法提供完整解答,但我会尽力帮助您,尽可能提供帮助。以下是示例代码: ```cpp #include <QApplication> #include <QFile> #include <QTextStream> #include <QChart> #include <QChartView> #include <QSplineSeries> int main(int argc, char *argv[]) { QApplication a(argc, argv); // Read CSV file QFile file(":/data.csv"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return -1; QTextStream in(&file); // Create and populate data series QSplineSeries *series = new QSplineSeries(); QStringList headers = in.readLine().split(","); int xIndex = headers.indexOf("x"); int yIndex = headers.indexOf("y"); while (!in.atEnd()) { QStringList line = in.readLine().split(","); qreal x = line.at(xIndex).toDouble(); qreal y = line.at(yIndex).toDouble(); *series << QPointF(x, y); } file.close(); // Create and customize chart QChart *chart = new QChart(); chart->addSeries(series); chart->createDefaultAxes(); chart->setTitle("Dynamic Line Chart"); // Create and customize chart view QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); chartView->setWindowTitle("Dynamic Line Chart"); chartView->show(); return a.exec(); } ``` 请注意,在此示例代码中,我使用了 Qt 的 QSplineSeries 类来存储和显示数据。该类可以自动连接相邻数据点,并在创建折线图时生成平滑的曲线。如果您希望使用其他类型的数据系列,可以根据需要进行修改。 另外,在代码中,我从数据文件中读取 CSV 数据,然后将其存储在 QSplineSeries 对象中。如果您的数据源不是 CSV 文件,您可能需要根据实际情况修改代码,以便正确解析数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值