如题,我有两个类:
业务逻辑类Xsens,实时获取、处理外部设备(传感器)传递的数据
界面GUI类XsensQt,继承自QMainWindow,头文件为xsensqt.h和ui_xsensqt.h
XsensQt构造函数
XsensQt::XsensQt(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
connect(ui.action_ScanXsens, SIGNAL(triggered()), &sensor, SLOT(dohardwarescan()));
connect(ui.action_ViewData, SIGNAL(triggered()), this, SLOT(putXsensInAThread()));
}
void XsensQt::putXsensInAThread()
{
QThread *XsensThread = new QThread(this);
connect(XsensThread, SIGNAL(started()), &sensor, SLOT(showData()));
connect(XsensThread, SIGNAL(finished()), &sensor, SLOT(deleteLater()));
sensor.moveToThread(XsensThread);
XsensThread->start();
}
Xsens数据处理函数
void Xsens::showData()
{
while(!userQuit && res == XRV_OK)
{
// 这里得到传感器的数据并进行相应处理
ui.labelAccX->setText(QString::number(data));
}
}
最终的结果需要显示到XsensQt的Label中(定义在ui_xsensqt.h)
我直接在void Xsens::showData()中调用ui.labelAccX->setText()报错Unhandled exception at 0x779415de in XsensQt.exe: 0xC0000005: Access violation reading location 0x8b55ff93.
应该如何才能正确的在GUI界面上实时显示处理得到的数据呢?
另外我需要在GUI界面上以类似心电图的方式显示出来,又应该怎么做呢?