调整mavlink inspector的位置,设置关闭主界面的话所有子窗口关闭,并且推出程序

This commit is contained in:
hm
2020-03-25 12:11:44 +08:00
parent 6f628b61d0
commit dcd72ead15
16 changed files with 117 additions and 51 deletions
+19 -30
View File
@@ -42,14 +42,12 @@ MainWindow::MainWindow(QWidget *parent)
nav->setGeometry(0,0,50,this->height());
nav->setRowHeight(50);
nav->addItem(tr("Flight"),icon);
nav->addItem(tr("Mission"),icon);
nav->addItem(tr("Parameter"),icon);
nav->addItem(tr("Communication"),icon);
nav->addItem(tr("Inspector"),icon);
nav->addItem(tr("Command"),icon);
nav->addItem(tr("Data"),icon);
nav->addItem(tr("Console"),icon);
nav->addItem(tr("SoftSetting"),icon);
nav->addItem(tr("Mission"),icon);//mission
nav->addItem(tr("Communication"),icon);//all link
nav->addItem(tr("Inspector"),icon);// mavlink param
nav->addItem(tr("Command"),icon);//cmd console
nav->addItem(tr("Data"),icon);//all data
nav->addItem(tr("Setting"),icon);//soft setting help about
connect(nav,SIGNAL(ItemChanged(int)),
this,SLOT(onTabIndexChanged(int)));
@@ -78,12 +76,22 @@ MainWindow::~MainWindow()
delete copk;
QCoreApplication::quit();//退出所有
}
void MainWindow::resizeEvent(QResizeEvent *e)
void MainWindow::closeEvent(QCloseEvent *event)
{
Q_UNUSED(e);
event->accept();
QCoreApplication::quit();//退出所有
}
void MainWindow::resizeEvent(QResizeEvent *event)
{
Q_UNUSED(event);
map->setGeometry(0,
0,
@@ -94,8 +102,6 @@ void MainWindow::resizeEvent(QResizeEvent *e)
copk->setGeometry(this->width() - copk->width(),0,copk->width(),copk->height());
}
@@ -227,24 +233,7 @@ void MainWindow::onTabIndexChanged(const int &index)
}
else if (index == 3)
{
QAction* action;
MAVLinkInspector *inspector = new MAVLinkInspector("mavlink inspector",action,this);
qRegisterMetaType<mavlink_message_t>("mavlink_message_t");
connect(dlink->mavlinknode,SIGNAL(recievemsg(mavlink_message_t)),
inspector,SLOT(receiveMessage(mavlink_message_t)));
/*
connect(dlink->mavlinknode,&MavLinkNode::recievemsg,
inspector,&MAVLinkInspector::receiveMessage);
*/
inspector->show();
dlink->mavlinknode->mavlinkinspector->show();
}
else if (index == 4)
+5 -2
View File
@@ -19,7 +19,7 @@
#include "dlink.h"
#include "clientlinkdialog.h"
#include "mavlinknode.h"
#include "MAVLinkInspector.h"
#pragma execution_character_set("utf-8")
@@ -41,7 +41,10 @@ public slots:
void dlink_triggered();
void client_triggered();
protected:
void resizeEvent(QResizeEvent * e);
void closeEvent(QCloseEvent *event);
void resizeEvent(QResizeEvent *event);
void keyPressEvent(QKeyEvent *event);
private slots:
+1 -1
View File
@@ -7,7 +7,7 @@ CONFIG += ordered
SUBDIRS += MavLinkNode
SUBDIRS += MAVLinkInspector
#SUBDIRS += MAVLinkInspector
SUBDIRS += SerialPortDialog
-8
View File
@@ -1,8 +0,0 @@
FORMS += \
$$PWD/MAVLinkInspector.ui
HEADERS += \
$$PWD/MAVLinkInspector.h
SOURCES += \
$$PWD/MAVLinkInspector.cc
@@ -0,0 +1,19 @@
#添加mavlink目录
INCLUDEPATH += $$PWD/../mavlink \
$$PWD/../mavlink/ardupilotmega \
$$PWD/../mavlink/common \
$$PWD/../mavlink/icarous \
$$PWD/../mavlink/uAvionix \
$$PWD/../mavlink/XYK \
$$PWD/../mavlink/message_definitions
FORMS += \
$$PWD/MAVLinkInspector.ui
HEADERS += \
$$PWD/MAVLinkInspector.h
SOURCES += \
$$PWD/MAVLinkInspector.cc
+1 -1
View File
@@ -32,7 +32,7 @@ DEFINES += QT_DEPRECATED_WARNINGS
include (./ParameterInspector/ParameterInspector.pri)
include (./MAVLinkInspector/MAVLinkInspector.pri)
DESTDIR = $$PWD/../thirdpart/lib
MOC_DIR = $$PWD/../build
@@ -234,6 +234,53 @@ void ParameterInspector::refreshView()//来一个参数更新一次
}
void ParameterInspector::clearview(void)
{
QMap<int, QMap<int, QTreeWidgetItem*>>::iterator ite;
for (ite=uasParamTreeItems.begin(); ite!=uasParamTreeItems.end();++ite)
{
QMap<int, QTreeWidgetItem*> param_ite = ite.value();
QList<int> groupKeys = param_ite.uniqueKeys();
QList<int>::iterator listKeys;
for (listKeys=groupKeys.begin();listKeys!=groupKeys.end();++listKeys)
{
delete param_ite.take(*listKeys);
}
}
uasParamTreeItems.clear();
QMap<int, QTreeWidgetItem* >::iterator iteTree;
for(iteTree=uasTopLevelItems.begin(); iteTree!=uasTopLevelItems.end();++iteTree)
{
delete iteTree.value();
iteTree.value() = NULL;
}
uasTopLevelItems.clear();
QMap<int,QMap<int,mavlink_param_value_t>>::iterator vehicle_ite;//删除这个
for (vehicle_ite=vehicles.begin(); vehicle_ite!=vehicles.end();++vehicle_ite)
{
vehicle_ite.value().clear();
//delete vehicle_ite.value();
//vehicle_ite.value() = NULL;
}
vehicles.clear();
ui->treeWidget->clear();
}
QVariant ParameterInspector::param_value(mavlink_param_value_t param)
{
QVariant value;
@@ -338,9 +385,5 @@ void ParameterInspector::on_clearButton_clicked()
{
//这个清除方式过于粗暴,导致清除后无法再次进入读取
uasTreeWidgetItems.clear();
uasTopLevelItems.clear();
ui->treeWidget->clear();
clearview();
}
@@ -133,6 +133,8 @@ private slots:
void mReflush();
void clearview(void);
void on_ReadButton_clicked();
@@ -169,7 +171,7 @@ private:
QMap<int, QTreeWidgetItem* > uasTopLevelItems;
QMap<int, QTreeWidgetItem* > uasTreeWidgetItems; ///< Tree of available uas with their widget
//QMap<int, QTreeWidgetItem* > uasTreeWidgetItems; ///< Tree of available uas with their widget
@@ -106,7 +106,7 @@
<item row="3" column="0" colspan="2">
<widget class="QProgressBar" name="progressBar">
<property name="value">
<number>24</number>
<number>0</number>
</property>
<property name="textDirection">
<enum>QProgressBar::BottomToTop</enum>
@@ -148,7 +148,7 @@
</widget>
</item>
<item row="4" column="0">
<widget class="QPushButton" name="pushButton">
<widget class="QPushButton" name="CancelpushButton">
<property name="text">
<string>Cancel</string>
</property>
@@ -196,6 +196,13 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="NextpushButton">
<property name="text">
<string>Next</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
+7
View File
@@ -27,6 +27,13 @@ MavLinkNode::MavLinkNode(QObject *parent) : QObject(parent)
this,&MavLinkNode::SendMessageTo);*/
mavlinkinspector = new MAVLinkInspector("mavlink inspector",nullptr,nullptr);
connect(this,SIGNAL(recievemsg(mavlink_message_t)),
mavlinkinspector,SLOT(receiveMessage(mavlink_message_t)),Qt::DirectConnection);
mavlinkinspector->hide();
}
MavLinkNode::~MavLinkNode()
+5 -1
View File
@@ -11,7 +11,7 @@
#include "parameterprocess.h"
#include "MAVLinkInspector/MAVLinkInspector.h"
#ifdef QtMavlinkNode
#include <mavlinknodeglobal.h>
@@ -71,6 +71,10 @@ public:
_vehicle vehicle;
MissionProcess *Mission;
ParameterProcess *Parameter;
MAVLinkInspector *mavlinkinspector = nullptr;
signals:
void SendMessageTo(quint8 ch, quint8 *data,quint16 len);
void recievemsg(mavlink_message_t msg);