gpt4 book ai didi

c++ - 没有匹配的函数来调用'QtCharts::QLineSeries::append(int&,Date&)

转载 作者:行者123 更新时间:2023-12-02 10:34:55 29 4
gpt4 key购买 nike

m_total_hour_series->append(pair.first, pair.second);行是问题的根源。错误消息说:没有匹配的函数来调用'QtCharts::QLineSeries::append(int&,Date&)'

我看过折线图的示例,并寻找附加日期数据,但无济于事。

我正在尝试从数据库中的数据制作折线图。我正在传递该系列值的成对 list 。我的window.cpp文件具有以下变量:

QLineSeries* m_total_hour_series;
QChart* m_total_hour_chart;
QDateTimeAxis* m_total_hour_axis_x;
QValueAxis* m_total_hour_axis_y;
QChartView* m_total_hour_chart_view;

我的model.cpp文件包含以下代码:
QList<QPair<int,QDateTime>> ScannerModel::GetTotalHourSeries()
{
QList<QPair<int,QDateTime>> total_hour_series;
QString query_string;
QDateTime intervals;
QSqlDatabase db = QSqlDatabase::database(m_database_connection);
QList<QPair<int,QDateTime>> graph_point;

query_string = QString("SELECT COUNT(BagId) AS num_bags, ");
query_string += QString(" sec_to_time(time_to_sec(ScannedOn) - time_to_sec(ScannedOn)%(15*60)) AS intervals ");
query_string += QString("FROM Bag ");
query_string += QString("WHERE ScannedOn > date_sub(now(), INTERVAL 3 HOUR) ");
query_string += QString("GROUP BY intervals ");

QSqlQuery query(query_string, db);

if (query.size() > 0)
{
while (query.next())
{
graph_point.first = query.value(0).toInt();
intervals = query.value(1).toDateTime();
intervals.addSecs(m_time_zone.offsetFromUtc(intervals));
graph_point.second = intervals;
total_hour_series->append(graph_point);
}
qApp->processEvents();
}
return (total_hour_series);
}

我的window.cpp文件包含以下代码:
void ScannerWindow::UpdateChartTotalHour()
{
QList<QPair<int,QDateTime>> listOfPairs;
m_total_hour_series->clear();

listOfPairs = m_model->GetTotalHourSeries();
for (int i = 0; i < listOfPairs.size(); i++)
{
QPair<int, QDateTime> pair = listOfPairs.at(i);
m_total_hour_series->append(pair.first, pair.second);
}
m_total_hour_chart->addSeries(m_total_hour_series);
qApp->processEvents();

m_total_hour_axis_x->setTickCount(12);
m_total_hour_axis_x->setFormat("HH:mm");
m_total_hour_chart->addAxis(m_total_hour_axis_x, Qt::AlignBottom);
m_total_hour_series->attachAxis(m_total_hour_axis_x);

m_total_hour_axis_y->setLabelFormat("%i");
m_total_hour_chart->addAxis(m_total_hour_axis_y, Qt::AlignLeft);
m_total_hour_series->attachAxis(m_total_hour_axis_y);
}

感谢您的帮助。

最佳答案

我在QDateTimeAxis上搜索。答案是使用.toMSecsSinceEpoch()。这是网站:doc.qt.io/qt-/qdatetimeaxis.html

关于c++ - 没有匹配的函数来调用'QtCharts::QLineSeries::append(int&,Date&),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60727825/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com