Qt5.15.2利用主界面接收脉冲信号来触发其他界面的控件,程序总是崩溃,部分代码如下:
//条件语句1主要用来判断脉冲信号的大小,如果channel>=1,则首先调用主界面的stopBtn关闭当前采集
if(channel>=1.00)
{
contious=false;
ui->stopBtn->clicked();
QDateTime localtime=QDateTime::currentDateTime();
QString plusetime=localtime.toString("MM.dd.hh:mm:ss");
ui->pluseTimeLab->setText(plusetime);
}
//条件语句2主要用来调用其他界面的一些设置及采集按钮,尝试过emit,但最终没有成功
if(ui->Motion_checkBox->isChecked()==true&&my_BLE->ui->displayOn_OffComboBox->currentText()=="startDisplay")
{
my_BLE->ui->dataDisplayTypeComboBox->setCurrentText("Quaternion");
my_BLE->ui->startDataRead->clicked();
}
//报错内容如下
stop device successfully
E:\SogouInput\Components
16:24:30: E:\postgraduate\zuzhui\Human_kinematics_and_dynamics_analysis\debug\Human_kinematics_and_dynamics_analysis.exe crashed.
在IDE中运行,崩溃时选调试,查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
可能是其他界面的调用,我以前遇到过