首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt图表条形图调整崩溃

Qt图表条形图调整崩溃
EN

Stack Overflow用户
提问于 2018-10-18 07:41:34
回答 1查看 355关注 0票数 1

情况:

我用QtChartsQChartViewQChartQBarSeriesQBarSetQValueAxisQCategoryAxis写了一个条形图,它工作得很好。

问题:

当我调整窗口的大小或在绘图中使用QRubberband时,它会崩溃。

我试过的是:

我写的其他所有情节都不受这个问题的影响,包括使用QStackedBarSeries的那些。同样的情况下,这个问题也发生在我编写的另一个程序中。

码头:

代码语言:javascript
复制
int D_Plot::Plot_Stat_Multi_MeanMedian(
QChartView *pChartView, 
vector<vector<double> > *vv_SetSta, 
bool pl_mean, 
bool pl_sd, 
bool pl_median, 
bool pl_adm, 
QString name_title, 
QString name_categories, 
QString name_y)

代码体:

代码语言:javascript
复制
//Chart
QChart *chart = new QChart();
chart->setTitle(name_title);

//Sets
QBarSet set_mean("Mean");
QBarSet set_sdev("Standard Deviation");
QBarSet set_medi("Median");
QBarSet set_aadm("Average Absolute Deviation from Median");

//Categories
QStringList categories;

//Series
QBarSeries *series = new QBarSeries();
for(unsigned int set = 0; set < vv_SetSta->size(); set++)
{
    if(pl_mean)     set_mean.append((*vv_SetSta)[set][c_STAT_MEAN_ARITMETIC]);
    if(pl_sd)       set_sdev.append((*vv_SetSta)[set][c_STAT_STAN_DEV_SAMPLE]);
    if(pl_median)   set_medi.append((*vv_SetSta)[set][c_STAT_MEDIAN]);
    if(pl_adm)      set_aadm.append((*vv_SetSta)[set][c_STAT_ABS_DEV_MED]);

    categories.append(QString::number(set));
}
if(pl_mean)     series->append(&set_mean);
if(pl_sd)       series->append(&set_sdev);
if(pl_median)   series->append(&set_medi);
if(pl_adm)      series->append(&set_aadm);
chart->addSeries(series);

//Axis
QBarCategoryAxis *X_axis = new QBarCategoryAxis();
X_axis->append(categories);
X_axis->setTitleText(name_categories);
chart->setAxisX(X_axis, series);

QValueAxis *Y_axis = new QValueAxis();
Y_axis->setTitleText(name_y);
chart->setAxisY(Y_axis, series);


//Showing
pChartView->setChart(chart);

return ER_Okay;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-18 10:06:39

您正在本地创建QBarSet对象(即不通过新操作符创建),并将指向这些集合的指针传递到QBarSet::append方法,如果指向的对象感到有义务在超出作用域时取消分配,AFAIK将获得该方法的所有权。对于本地分配的对象,这肯定会失败。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52869222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档