- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
0.0" in file painting\qrasterizer. cpp,第761行-6ren"> 0.0" in file painting\qrasterizer. cpp,第761行-在 QtCharts 中使用 QValueAxis 时出现错误: ASSERT: "width > 0.0" in file painting\qrasterizer.cpp, line 761 当 -6ren">
在 QtCharts
中使用 QValueAxis
时出现错误:
ASSERT: "width > 0.0" in file painting\qrasterizer.cpp, line 761
当 QBarSet
值全部为 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();
}
我的程序将从 QMap
动态启动 QBarSet
。像这样:
for(auto it = map.cbegin(); it != map.cend(); ++it) {
set->append(it.value());
}
当程序启动时,QMap
被初始化为这样的东西:
QMap(("First", 0)("Second", 0)...)
有时QMap
会因为程序的使用而不会加值,这时所有的QBarSet
值都会初始化为0
。那么程序就会因为那个错误而崩溃。
那么当QBarSet
值都初始化为0
时,如何避免这个错误呢?
最佳答案
如错误所述:
ASSERT: "width > 0.0"
您需要一个大于零的值。
还有 QBarSet::append
,
void QBarSet::append(const qreal value)
需要一个 qreal
或 double
值。
也许您最初想将其设置为 0.1
:
set->append(0.1);
关于c++ - Qt图表错误: ASSERT: "width > 0.0" in file painting\qrasterizer. cpp,第761行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50504031/
在 QtCharts 中使用 QValueAxis 时出现错误: ASSERT: "width > 0.0" in file painting\qrasterizer.cpp, line 761 当
我是一名优秀的程序员,十分优秀!