diff --git a/ZBD_IIIDL_S_Project/DependFile/QML/Ssvep.qml b/ZBD_IIIDL_S_Project/DependFile/QML/Ssvep.qml index 7d21d2b..1d93260 100644 --- a/ZBD_IIIDL_S_Project/DependFile/QML/Ssvep.qml +++ b/ZBD_IIIDL_S_Project/DependFile/QML/Ssvep.qml @@ -171,6 +171,24 @@ Item { return ret; } + function onExit(){ + console.log("1222222222222222"); + if(bConnect) + { + clientSocket.writeBytes(getIntArr("2")); + return true; + } + return false; + } + function onConnectAndExit(){ + clientSocket.connectToHost(); + clientSocket.writeBytes(getIntArr("2")); + } + + Component.onCompleted: + { + //BCIManager.signalQmlStopLinkerPrograme.connect(onExit); + } TcpSocket{ id: clientSocket peer: "127.0.0.1" diff --git a/ZBD_IIIDL_S_Project/Src/TrainManager/BCIManager.h b/ZBD_IIIDL_S_Project/Src/TrainManager/BCIManager.h index 6d7e3e1..c64266c 100644 --- a/ZBD_IIIDL_S_Project/Src/TrainManager/BCIManager.h +++ b/ZBD_IIIDL_S_Project/Src/TrainManager/BCIManager.h @@ -31,7 +31,7 @@ private slots: void slotLinkerProgrameReadyReadStandardError(); signals: - + void signalQmlStopLinkerPrograme(); private: QProcess *m_pCmd = nullptr; diff --git a/ZBD_IIIDL_S_Project/Src/TrainManager/eyetrainwidget.cpp b/ZBD_IIIDL_S_Project/Src/TrainManager/eyetrainwidget.cpp index ef4575e..7611813 100644 --- a/ZBD_IIIDL_S_Project/Src/TrainManager/eyetrainwidget.cpp +++ b/ZBD_IIIDL_S_Project/Src/TrainManager/eyetrainwidget.cpp @@ -1,6 +1,7 @@ #include "eyetrainwidget.h" #include "ui_eyetrainwidget.h" #include "BCIManager.h" +#include eyeTrainWidget::eyeTrainWidget(QWidget *parent) : QWidget(parent), @@ -24,7 +25,7 @@ eyeTrainWidget::eyeTrainWidget(QWidget *parent) : m_st_bicycleParam.spasmType = 0; //默认逆向 BCIManager::getInstance().startLinkerPrograme(); - + ui->quickWidget->setSource(QUrl("qrc:/DependFile/QML/Ssvep.qml")); // int8_t controlState;//状态控制 0-停止 1启动 2-暂停 3-继续 // int8_t bodyPart; //训练部位 0-上肢 1-下肢 2-四肢 3-垂直上肢 @@ -48,6 +49,17 @@ eyeTrainWidget::~eyeTrainWidget() heartTimer->stop(); delete ui; + QVariant retVal; + QMetaObject::invokeMethod(ui->quickWidget->rootObject(), + "onExit", + Qt::DirectConnection, + Q_RETURN_ARG(QVariant, retVal)); + if(!retVal.toBool()) + { + QMetaObject::invokeMethod(ui->quickWidget->rootObject(), + "onConnectAndExit", + Qt::DirectConnection); + } } void eyeTrainWidget::startTrain(int8_t Part, uint8_t Time) diff --git a/ZBD_IIIDL_S_Project/release/UpLowLimp.exe b/ZBD_IIIDL_S_Project/release/UpLowLimp.exe index a1aa19c..47cac72 100644 Binary files a/ZBD_IIIDL_S_Project/release/UpLowLimp.exe and b/ZBD_IIIDL_S_Project/release/UpLowLimp.exe differ