统一调用parse线程
This commit is contained in:
+96
-3
@@ -1,4 +1,4 @@
|
||||
#include "ToolsUI.h"
|
||||
#include "ToolsUI.h"
|
||||
#include "ui_ToolsUI.h"
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ ToolsUI::ToolsUI(QWidget *parent) :
|
||||
ui->scrollArea->setFixedWidth(w);
|
||||
ui->pushButton_ShowExtern->setFixedSize(w,h);
|
||||
|
||||
connect(this, &ToolsUI::recieveData, this, &ToolsUI::recieveDataSlot);
|
||||
|
||||
index0 = new Tools_Index0();
|
||||
index1 = new Tools_Index1();
|
||||
index2 = new Tools_Index2();
|
||||
@@ -64,6 +66,7 @@ ToolsUI::ToolsUI(QWidget *parent) :
|
||||
connect(this,SIGNAL(IndexChanged(int)),
|
||||
this,SLOT(onTabIndexChanged(int)));
|
||||
|
||||
|
||||
CurrentIndex = 0;
|
||||
emit IndexChanged(CurrentIndex);
|
||||
|
||||
@@ -77,6 +80,25 @@ ToolsUI::ToolsUI(QWidget *parent) :
|
||||
setPushButtonState(b,state::unSelected);
|
||||
}
|
||||
}
|
||||
|
||||
//测试
|
||||
/*
|
||||
connect(&timer, &QTimer::timeout,
|
||||
this, [this]()
|
||||
{
|
||||
QByteArray array;
|
||||
for(int i = 0; i < 100; ++i)
|
||||
{
|
||||
char ch = rand();
|
||||
array.append(ch);
|
||||
}
|
||||
|
||||
emit recieveData(1, array);
|
||||
});
|
||||
|
||||
timer.start(1000);
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
ToolsUI::~ToolsUI()
|
||||
@@ -139,8 +161,8 @@ void ToolsUI::install(ToolsWidget *widget, QString name)
|
||||
ToolsList.insert(ToolsList.size(),widget);
|
||||
|
||||
//接收到信号,每个界面自己解析,获取自己想要的信息
|
||||
connect(this,&ToolsUI::recieveData,
|
||||
widget,&ToolsWidget::recieveData);
|
||||
// connect(this,&ToolsUI::recieveData,
|
||||
// widget,&ToolsWidget::recieveData);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -171,6 +193,77 @@ void ToolsUI::btnClicked()
|
||||
}
|
||||
}
|
||||
|
||||
void ToolsUI::recieveDataSlot(const int &id, const QByteArray &data)
|
||||
{
|
||||
Parse *parse = new Parse;
|
||||
if(id == 0)
|
||||
{
|
||||
connect(parse,&Parse::INS_Info,
|
||||
ins,&INS::INS_Info);
|
||||
|
||||
connect(parse,&Parse::NAV_Info,
|
||||
ins,&INS::NAV_Info);
|
||||
|
||||
|
||||
//sbg imu
|
||||
|
||||
connect(parse,&Parse::imu_info,
|
||||
ins,&INS::imu);
|
||||
|
||||
//sbg euler
|
||||
connect(parse,&Parse::euler_info,
|
||||
ins,&INS::euler);
|
||||
|
||||
|
||||
connect(parse,&Parse::gear_Info,
|
||||
gear,&landinggear::gear_Info);
|
||||
|
||||
connect(parse,&Parse::actuator_info,
|
||||
gear,&landinggear::actuator_info);
|
||||
|
||||
connect(parse,&Parse::actuator1_info,
|
||||
gear,&landinggear::actuator1_info);
|
||||
|
||||
connect(parse,&Parse::actuator2_info,
|
||||
gear,&landinggear::actuator2_info);
|
||||
|
||||
}
|
||||
else if(id == 1)
|
||||
{
|
||||
connect(parse,&Parse::EADC_Info,
|
||||
ecu,&ECU::EADC_Info);
|
||||
|
||||
connect(parse,&Parse::ECU_Info,
|
||||
ecu,&ECU::ECU_Info);
|
||||
|
||||
connect(parse,&Parse::SSPC_Info,
|
||||
ecu,&ECU::SSPC_Info);
|
||||
|
||||
connect(parse,&Parse::SSPC_Info_state,
|
||||
ecu,&ECU::SSPC_Info_state);
|
||||
|
||||
connect(parse,&Parse::vel_info,
|
||||
ins,&INS::vel);
|
||||
//sbg pos
|
||||
connect(parse,&Parse::pos_info,
|
||||
ins,&INS::pos);
|
||||
|
||||
connect(parse,&Parse::actuator_info,
|
||||
gear,&landinggear::actuator_info);
|
||||
|
||||
connect(parse,&Parse::actuator1_info,
|
||||
gear,&landinggear::actuator1_info);
|
||||
|
||||
connect(parse,&Parse::actuator2_info,
|
||||
gear,&landinggear::actuator2_info);
|
||||
|
||||
}
|
||||
|
||||
QThreadPool::globalInstance()->start(parse);
|
||||
|
||||
parse->parseData(id, data);
|
||||
}
|
||||
|
||||
|
||||
void ToolsUI::onTabIndexChanged(const int &index)//界面选择管理
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user