QValueAxis
在使用时出现错误QtCharts
:
断言:文件绘画\qrasterizer.cpp 中的“宽度 > 0.0”,第 761 行
当QBarSet
值为 all时会发生这种情况0
。
我有这个例子,下面有最少的必要代码:
#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCharts>
QT_CHARTS_USE_NAMESPACE
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QChart *chart = new QChart;
QBarSeries *series = new QBarSeries(chart);
QBarSet *set = new QBarSet("BarSet", series);
series->append(set);
QValueAxis *valueAxisX = new QValueAxis(chart);
QChartView *chartView = new QChartView(chart);
for(int i = 0; i < 24; ++i) {
set->append(0); //error
//if I set like set->append(1) or anything just to make sure the values are not all 0, there will be no error.
}
chart->addSeries(series);
chart->setAxisX(valueAxisX, series);
QMainWindow window;
window.setCentralWidget(chartView);
window.resize(420, 300);
window.show();
return a.exec();
}
我的程序QBarSet
将从QMap
. 像这样:
for(auto it = map.cbegin(); it != map.cend(); ++it) {
set->append(it.value());
}
并且在QMap
程序启动时启动如下:
QMap(("First", 0)("Second", 0)...)
有时QMap
由于程序的使用不会加值,那么所有的QBarSet
值都会被初始化为0
. 然后程序将由于该错误而崩溃。那么,当值全部启动
时,我怎样才能避免这个错误呢?QBarSet
0