现在我的问题.我目前正在尝试在Qt 5.8中实现一个简单的数据采集应用程序.该应用程序必须与DSP通信并以100Hz至10kHz的速率获取一些电压.由于我需要对获得的电压做一些额外的计算,我认为在与GUI线程不同的线程中进行数据采集和 *** 作是个好主意.
数据采集和附加计算在单独的线程中工作得很好.我的问题是,使用QtCharts异步显示工作线程结果的正确方法是什么?
任何建议都将深表感谢.
最好的祝福,
T.Krastev
@R_301_6120@ 有类似的问题.我有一个线程将数据加载到Model.在finshed之后我让线程发出信号DataLoadingDone.这通过Qt :: QueuedConnection连接到MainWindow中的一个插槽,因此它从GuiThread进行评估.否则我遇到QbarSet插槽抛出异常的问题.
MainWindow::MainWindow() { this->chart = new QChart(); this->chartVIEw = new QChartVIEw(chart); this->serIEs = new QbarSerIEs(); this->mapper = new QHbarmodelmapper(this); this->connect(this->myThread,SIGNAL(DataLoadingDone()),this,SLOT(MyThread_DataLoadingDone()),Qt::QueuedConnection); this->setWidget(this->chartVIEw);}voID MainWindow::MyThread_DataLoadingDone() { mapper->setFirstbarSetRow(0); mapper->setLastbarSetRow(0); mapper->setFirstColumn(0); mapper->setColumnCount(this->model->columnCount()); mapper->setSerIEs(serIEs); mapper->setModel(this->model); //only add at the first time //if we add this every time something goes wrong and // multiple bars are displayed behind each other if (this->chart->serIEs().count() == 0) { this->chart->addSerIEs(serIEs); this->chart->createDefaultAxes(); }}总结
以上是内存溢出为你收集整理的c – 从工作线程更新QtCharts的正确方法?全部内容,希望文章能够帮你解决c – 从工作线程更新QtCharts的正确方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)