调整UI不允许在其他线程运行

This commit is contained in:
hm
2021-10-22 16:56:30 +08:00
parent 53d084bfa6
commit eac07504aa
6 changed files with 24 additions and 20 deletions
+1 -1
View File
@@ -170,7 +170,7 @@ win32|win64 {
qml_src_dir ~= s,/,\\,g
qml_dst_dir ~= s,/,\\,g
system(xcopy $$qml_src_dir $$qml_dst_dir /y /s)
#system(xcopy $$qml_src_dir $$qml_dst_dir /y /s)
}
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -2395,7 +2395,7 @@
<message>
<location filename="mainwindow.cpp" line="1243"/>
<source>Unlocated</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1488"/>
+1 -1
View File
@@ -37,7 +37,7 @@ void StateGroup::addItem(StateWidget * w)
{
//为什么减2
m_lenght += w->height() + layout->verticalSpacing() - 2;
qDebug() << this->height() << w->height() << layout->verticalSpacing();
//qDebug() << this->height() << w->height() << layout->verticalSpacing();
}
else
{
+20 -16
View File
@@ -245,7 +245,7 @@ MainWindow::MainWindow(QWidget *parent)
dlink->mavlinknode->Parameter,SLOT(WriteCmd(uint8_t,uint8_t,const char*,uint8_t,float)),Qt::DirectConnection);
connect(commandUI,SIGNAL(Accepted(bool,uint16_t,uint8_t)),
toolsui->command,SLOT(commandAccepted(bool,uint16_t,uint8_t)),Qt::DirectConnection);
toolsui->command,SLOT(commandAccepted(bool,uint16_t,uint8_t)));
//command ----- map
@@ -256,7 +256,7 @@ MainWindow::MainWindow(QWidget *parent)
commandUI,SLOT(setPointCount(QList<int>)));
connect(map,SIGNAL(uav_selected(int,int)),
commandUI,SLOT(CurrentUAV(int,int)),Qt::DirectConnection);
commandUI,SLOT(CurrentUAV(int,int)));
/*
connect(map,&mapcontrol::OPMapWidget::PointNumber,
@@ -342,6 +342,8 @@ MainWindow::MainWindow(QWidget *parent)
//dlink ---- rc
qRegisterMetaType<QList<uint16_t>>("QList<uint16_t>");
qRegisterMetaType<uint32_t>("uint32_t");
qRegisterMetaType<uint16_t>("uint16_t");
qRegisterMetaType<uint8_t>("uint8_t");
connect(dlink->mavlinknode->RC,SIGNAL(new_remote_ctrl(QList<uint16_t>)),
toolsui->remotecontrol,SLOT(setChannelOveride(QList<uint16_t>)));
@@ -378,7 +380,7 @@ MainWindow::MainWindow(QWidget *parent)
connect(dlink->mavlinknode->Commander,SIGNAL(commandAccepted(bool,uint16_t,uint8_t)),
commandUI,SLOT(commandAccepted(bool,uint16_t,uint8_t)),Qt::DirectConnection);
commandUI,SLOT(commandAccepted(bool,uint16_t,uint8_t)));
connect(commandUI,SIGNAL(WriteParam(uint8_t,uint8_t,QVariant,QVariant,QVariant)),
dlink->mavlinknode->Parameter,SLOT(WriteCmd2(uint8_t,uint8_t,QVariant,QVariant,QVariant)),Qt::DirectConnection);
@@ -484,7 +486,7 @@ MainWindow::MainWindow(QWidget *parent)
//航点确认窗口
connect(map,SIGNAL(setCurrent(int)),
commandUI,SLOT(missionConfirm(int)),Qt::DirectConnection);
commandUI,SLOT(missionConfirm(int)));
connect(commandUI,SIGNAL(SetCurrentPoint(int)),
@@ -955,7 +957,6 @@ void MainWindow::beep(int sysid)
{
if(map->getUAVCurrent() == sysid)
{
QApplication::beep();
}
}
@@ -1129,19 +1130,8 @@ void MainWindow::update_servo_output_raw(mavlink_servo_output_raw_t servo)
// 16~20Hz左右 运行频率可能太高(30fps)
void MainWindow::updateUI()//事件驱动式更新数据
{
int currentUAV = map->getUAVCurrent();
if(currentUAV < 1)//滤掉错值
{
return;
}
if(!dlink->mavlinknode->vehicleList.keys().contains(currentUAV))//滤掉不存在的无人机
{
return;
}
//qDebug()<<"updeta";
@@ -1162,6 +1152,20 @@ void MainWindow::updateUI()//事件驱动式更新数据
frq_time = QDateTime::currentMSecsSinceEpoch();
int currentUAV = map->getUAVCurrent();
if(currentUAV < 1)//滤掉错值
{
return;
}
if(!dlink->mavlinknode->vehicleList.keys().contains(currentUAV))//滤掉不存在的无人机
{
return;
}
copk->setAttitude(dlink->mavlinknode->vehicleList.value(currentUAV).attitude.pitch * 57.3,
dlink->mavlinknode->vehicleList.value(currentUAV).attitude.roll * 57.3,
dlink->mavlinknode->vehicleList.value(currentUAV).attitude.yaw * 57.3);
+1 -1
View File
@@ -19,7 +19,7 @@ DLink::DLink(QObject *parent) : QObject(parent)
//在当前线程运行
connect(mavlinknode,SIGNAL(showMessage(QString,int)),
this,SIGNAL(showMessage(QString,int)),Qt::DirectConnection);
this,SIGNAL(showMessage(QString,int)));
//在当前线程运行
connect(this,SIGNAL(recieveMessage(quint32,QByteArray)),