绘制高度图表

发布于:2024-07-15 ⋅ 阅读:(124) ⋅ 点赞:(0)

QT——Qcharts绘制实时曲线_qchart绘制曲线-CSDN博客

把轨迹的高度存到树菜单的第三个参数,点击树菜单时绘制高度线。 

mainwindow.h

#include <QChartView>
QT_CHARTS_USE_NAMESPACE

#include <QValueAxis>
#include <QLineSeries>

private:
    QChart *chart;
    QValueAxis *AX, *AY;

mainwind.cpp

{
    connect(ui->treeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(treeWidgetItemSelectionChanged()));

    chart = new QChart;
    ui->graphicsView_chart->setChart(chart);
    AX = new QValueAxis;
    AX->setRange(0, 1000);
    AX->setTickCount(11);
    AX->setTitleText("数量");
    AY = new QValueAxis;
    AY->setRange(0, 1000);
    AY->setTickCount(11);
    AY->setTitleText("海拔");
    chart->addAxis(AX, Qt::AlignBottom);
    chart->addAxis(AY, Qt::AlignLeft);
}

void MainWindow::treeWidgetItemSelectionChanged()
{
    scene->clearSelection();
    chart->removeAllSeries();
    QList<QTreeWidgetItem*> list_TWI = ui->treeWidget->selectedItems();
    QList<QGraphicsItem*> list_GI = scene->items();
    for (int i=0; i<list_GI.length(); i++) {
        for (int j=0; j<list_TWI.length(); j++) {
            QString itemId = list_TWI.at(j)->data(0, ITEMID).toString();
            QString itemId1 = list_GI.at(i)->data(ITEMID).toString();
            if (itemId == itemId1) {
                list_GI.at(i)->setSelected(true);
            }            
        }
    }    
    for (int j=0; j<list_TWI.length(); j++) {
        QString itemId = list_TWI.at(j)->data(0, ITEMID).toString();
        if (itemId.startsWith("track")) {
            QLineSeries *lineSeries = new QLineSeries;
            lineSeries->setName(list_TWI.at(j)->text(0));
            chart->addSeries(lineSeries);
            lineSeries->attachAxis(AX);
            lineSeries->attachAxis(AY);
            for (int i=0; i<list_TWI.at(j)->childCount(); i++) {
                 QString s = list_TWI.at(j)->child(i)->text(0);
                 QStringList SL = s.split(",");
                 QString sele = SL.at(2);
                 double ele = sele.toDouble();
                 lineSeries->append(i, ele);
            }
        }
    }
}

sonichy/HTYMap:尝试用Qt显示地图和轨迹


网站公告

今日签到

点亮在社区的每一天
去签到