SuXuan3D 2017-08-28 08:03 采纳率: 0%
浏览 2550

QT作图问题,第一次运行正常,第二次崩溃

代码如下,画图是单独线程进行的,现在问题是第一次启动线程的时候是没有问题的,第二次程序就崩溃了

 void QTCurvePlotThread(LPVOID pParam)
{
    int argc = 1;
    char *argv[] = { "Qt" };
    static QApplication app(argc, argv);
    app.setQuitOnLastWindowClosed(true);

    QChart *charts[4] = { new QChart(), new QChart(), new QChart(), new QChart() };
    for(int k = 0; k < 8; k++)
    {
        //.. 向窗口中添加曲线
        QChart *chart = charts[k/2];

        QLineSeries *series = new QLineSeries();

        int offset = chart->series().count();
        for(int i = 0; i < 360; i++)
        {
            qreal x = offset * 20 + i;
            series->append(QPointF(i, qSin(2.0 * 3.141592 * x / 360.0)));
        }

        series->setName(QString("line " + QString::number(chart->series().size())));
        chart->addSeries(series);
        //.. 设置属性
        chart->setTitle("Zoom in/out example");
        chart->createDefaultAxes();
        chart->legend()->show();
        chart->legend()->setAlignment(Qt::AlignBottom);
        chart->setAnimationOptions(QChart::SeriesAnimations);
    }


    QSplitter *splitterMain = new QSplitter(Qt::Vertical, NULL/*app->widgetAt(0,0)*/);
    splitterMain->resize(720, 480);
    splitterMain->setOpaqueResize(true);
    splitterMain->setStretchFactor(1, 1);
    QChartView *view1 = new QChartView(charts[0], splitterMain);
    QChartView *view2 = new QChartView(charts[1], splitterMain);
    QChartView *view3 = new QChartView(charts[2], splitterMain);
    QChartView *view4 = new QChartView(charts[3], splitterMain);

    QGridLayout *m_mainLayout = new QGridLayout();
    m_mainLayout->addWidget(splitterMain, 0, 0, 1, 1);

    QWidget *window = new QWidget;
    window->setWindowTitle("CurvePloter");
    window->setLayout(m_mainLayout);
    window->show();


    app.exec();

    return;
}
  • 写回答

3条回答 默认 最新

  • devstone 2017-08-31 06:23
    关注

    1.从你的代码中没有看出问题来;
    2.至于你说的第一次启动线程,没有看到你怎么启动的;
    3.建议打几个断电,然后调试,看看程序时在那快奔溃了,这样也好找出问题;

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能