From 08dee5bbec9aa584c91b2f4c2e6fcd72db743437 Mon Sep 17 00:00:00 2001 From: tangchao0503 <735056338@qq.com> Date: Wed, 16 Sep 2026 16:49:13 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=201=E3=80=81=E5=B0=86=E9=A9=AC?= =?UTF-8?q?=E8=BE=BE=E7=9A=84=E4=BF=A1=E5=8F=B7=E6=A7=BD=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=87=BD=E6=95=B0=E6=8C=87=E9=92=88=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=EF=BC=9B=202=E3=80=81=E7=BB=99=E9=80=9F=E5=BA=A6?= =?UTF-8?q?=E5=BC=95=E5=85=A5=E8=B4=9F=E5=80=BC=EF=BC=8C=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E5=8F=8D=E5=90=91=E7=A7=BB=E5=8A=A8=E9=A9=AC=E8=BE=BE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HPPA/CaptureCoordinator.cpp | 41 ++++++++++---------- HPPA/CaptureCoordinator.h | 4 +- HPPA/OneMotorControl.cpp | 76 ++++++++++++++++++------------------- HPPA/OneMotorControl.h | 4 +- HPPA/TwoMotorControl.cpp | 46 +++++++++++----------- HPPA/TwoMotorControl.h | 4 +- HPPA/focusWindow.cpp | 8 ++-- HPPA/setWindow.cpp | 4 +- 8 files changed, 94 insertions(+), 93 deletions(-) diff --git a/HPPA/CaptureCoordinator.cpp b/HPPA/CaptureCoordinator.cpp index 73c2de2..ee7e38f 100644 --- a/HPPA/CaptureCoordinator.cpp +++ b/HPPA/CaptureCoordinator.cpp @@ -10,10 +10,10 @@ TwoMotionCaptureCoordinator::TwoMotionCaptureCoordinator( , m_isValidCapturing(false) { //这些信号槽是按照逻辑顺序的 - connect(this, SIGNAL(moveTo(int, double, double, int)), - m_motorCtrl, SLOT(moveTo(int, double, double, int))); - connect(this, SIGNAL(moveTo(const std::vector, const std::vector, int)), - m_motorCtrl, SLOT(moveTo(const std::vector, const std::vector, int))); + connect(this, qOverload(&TwoMotionCaptureCoordinator::moveTo), + m_motorCtrl, qOverload(&IrisMultiMotorController::moveTo)); + connect(this, qOverload, const std::vector, int>(&TwoMotionCaptureCoordinator::moveTo), + m_motorCtrl, qOverload, const std::vector, int>(&IrisMultiMotorController::moveTo)); connect(this, &TwoMotionCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop); connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal, @@ -444,9 +444,9 @@ OneMotionCaptureCoordinator::OneMotionCaptureCoordinator( , m_cameraCtrl(cameraCtrl) , m_isRunning(false) { - connect(this, SIGNAL(moveTo(int, double, double, int)), - m_motorCtrl, SLOT(moveTo(int, double, double, int))); - connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_motorCtrl, SLOT(move(int, bool, double, int))); + connect(this, qOverload(&OneMotionCaptureCoordinator::moveTo), + m_motorCtrl, qOverload(&IrisMultiMotorController::moveTo)); + connect(this, &OneMotionCaptureCoordinator::moveSignal, m_motorCtrl, qOverload(&IrisMultiMotorController::move)); connect(this, &OneMotionCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop); connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal, @@ -488,7 +488,7 @@ void OneMotionCaptureCoordinator::startStepMotion(OneMotionCapturePathLine pathL m_pathLine.timestamp1 = QDateTime::currentDateTime(); //移动马达并开始采集高光谱 - emit moveSignal(0, false, m_pathLine.speedRecord, 1000); + emit moveSignal(0, m_pathLine.speedRecord, 1000); emit startRecordHSISignal(); } @@ -621,9 +621,9 @@ DarkAndWhiteCaptureCoordinator::DarkAndWhiteCaptureCoordinator( , m_cameraCtrl(cameraCtrl) , m_isRunning(false) { - connect(this, SIGNAL(moveTo(int, double, double, int)), - m_motorCtrl, SLOT(moveTo(int, double, double, int))); - connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_motorCtrl, SLOT(move(int, bool, double, int))); + connect(this, qOverload(&DarkAndWhiteCaptureCoordinator::moveTo), + m_motorCtrl, qOverload(&IrisMultiMotorController::moveTo)); + connect(this, &DarkAndWhiteCaptureCoordinator::moveSignal, m_motorCtrl, qOverload(&IrisMultiMotorController::move)); connect(this, &DarkAndWhiteCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop); connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal, @@ -667,7 +667,7 @@ void DarkAndWhiteCaptureCoordinator::startStepMotion(double speed) getLocBeforeStart(); //移动马达并开始采集高光谱 - emit moveSignal(0, false, m_speed, 1000); + emit moveSignal(0, m_speed, 1000); emit startRecordHSISignal(); } @@ -742,11 +742,11 @@ TwoMotor1PosCoordinator::TwoMotor1PosCoordinator( , m_xReached(false) , m_yReached(false) { - //因为IrisMultiMotorController::moveTo有多个重载版本,所以使用信号槽连接时需要使用SIGNAL和SLOT宏来指定参数类型,避免编译器无法推断出正确的函数签名。 - //connect(this, &TwoMotor1PosCoordinator::moveTo, m_motorCtrl, &IrisMultiMotorController::moveTo);//这行代码会报错,因为moveTo有多个重载版本,编译器无法推断出正确的函数签名。 - connect(this, SIGNAL(moveTo(int, double, double, int)), m_motorCtrl, SLOT(moveTo(int, double, double, int))); - connect(this, SIGNAL(moveTo(const std::vector, const std::vector, int)), m_motorCtrl, SLOT(moveTo(const std::vector, const std::vector, int))); - + //因为IrisMultiMotorController::moveTo有多个重载版本,所以使用qOverload来指定参数类型 + connect(this, qOverload(&TwoMotor1PosCoordinator::moveTo), + m_motorCtrl, qOverload(&IrisMultiMotorController::moveTo)); + connect(this, qOverload, const std::vector, int>(&TwoMotor1PosCoordinator::moveTo), + m_motorCtrl, qOverload, const std::vector, int>(&IrisMultiMotorController::moveTo)); connect(this, &TwoMotor1PosCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop); @@ -904,7 +904,8 @@ OneMotionCoordinator::OneMotionCoordinator(IrisMultiMotorController* motorCtrl, , m_retryTimes(0) , m_reached(false) { - connect(this, SIGNAL(moveTo(int, double, double, int)), m_motorCtrl, SLOT(moveTo(int, double, double, int))); + connect(this, qOverload(&OneMotionCoordinator::moveTo), + m_motorCtrl, qOverload(&IrisMultiMotorController::moveTo)); connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal, this, &OneMotionCoordinator::handlePositionReached); } @@ -1008,8 +1009,8 @@ OneMotorMultiPosCoordinator::OneMotorMultiPosCoordinator( , m_isZeroing(false) { //这些信号槽是按照逻辑顺序的 - connect(this, SIGNAL(moveTo(int, double, double, int)), - m_motorCtrl, SLOT(moveTo(int, double, double, int))); + connect(this, qOverload(&OneMotorMultiPosCoordinator::moveTo), + m_motorCtrl, qOverload(&IrisMultiMotorController::moveTo)); connect(this, &OneMotorMultiPosCoordinator::zeroStart, m_motorCtrl, &IrisMultiMotorController::zeroStart); diff --git a/HPPA/CaptureCoordinator.h b/HPPA/CaptureCoordinator.h index 099c4cf..669fde1 100644 --- a/HPPA/CaptureCoordinator.h +++ b/HPPA/CaptureCoordinator.h @@ -148,7 +148,7 @@ signals: void sequenceCompleteSignal_motorBack2Origin(int); void errorOccurred(const QString& error); void moveTo(int, double, double, int); - void moveSignal(int, bool, double, int); + void moveSignal(int, double, int); void stopMotorSignal(int axis); void startRecordHSISignal(); @@ -190,7 +190,7 @@ public slots: signals: void sequenceComplete(int); void moveTo(int, double, double, int); - void moveSignal(int, bool, double, int); + void moveSignal(int, double, int); void stopMotorSignal(int axis); void startRecordHSISignal(); diff --git a/HPPA/OneMotorControl.cpp b/HPPA/OneMotorControl.cpp index 8a2f7a7..e798ed8 100644 --- a/HPPA/OneMotorControl.cpp +++ b/HPPA/OneMotorControl.cpp @@ -63,14 +63,14 @@ void OneMotorControl::connectMotor(bool isNotification) if (m_multiAxisController != nullptr) { - disconnect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector)), this, SLOT(display_x_loc(std::vector))); - disconnect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int))); - disconnect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int))); - disconnect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int))); - disconnect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int))); - disconnect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int))); - disconnect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int))); - disconnect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector)), this, SLOT(display_motors_connectivity(std::vector))); + disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &OneMotorControl::display_x_loc); + disconnect(this, &OneMotorControl::moveSignal, m_multiAxisController, qOverload(&IrisMultiMotorController::move)); + disconnect(this, qOverload(&OneMotorControl::move2LocSignal), m_multiAxisController, qOverload(&IrisMultiMotorController::moveTo)); + disconnect(this, &OneMotorControl::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop); + disconnect(this, &OneMotorControl::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart); + disconnect(this, &OneMotorControl::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement); + disconnect(this, &OneMotorControl::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity); + disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &OneMotorControl::display_motors_connectivity); m_motorThread.quit(); m_motorThread.wait(); @@ -94,20 +94,20 @@ void OneMotorControl::connectMotor(bool isNotification) } m_multiAxisController->moveToThread(&m_motorThread); - connect(&m_motorThread, SIGNAL(finished()), m_multiAxisController, SLOT(deleteLater())); + connect(&m_motorThread, &QThread::finished, m_multiAxisController, &QObject::deleteLater); - connect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector)), this, SLOT(display_x_loc(std::vector))); + connect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &OneMotorControl::display_x_loc); - connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int))); - connect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int))); - connect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int))); + connect(this, &OneMotorControl::moveSignal, m_multiAxisController, qOverload(&IrisMultiMotorController::move)); + connect(this, qOverload(&OneMotorControl::move2LocSignal), m_multiAxisController, qOverload(&IrisMultiMotorController::moveTo)); + connect(this, &OneMotorControl::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop); - connect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int))); + connect(this, &OneMotorControl::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart); - connect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int))); + connect(this, &OneMotorControl::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement); - connect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int))); - connect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector)), this, SLOT(display_motors_connectivity(std::vector))); + connect(this, &OneMotorControl::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity); + connect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &OneMotorControl::display_motors_connectivity); m_motorThread.start(); emit testConnectivitySignal(0, 1000); @@ -182,14 +182,14 @@ void OneMotorControl::onxMotorRight() { double s = ui.speed_lineEdit->text().toDouble(); - emit moveSignal(0, false, s, 1000); + emit moveSignal(0, abs(s), 1000); } void OneMotorControl::onxMotorLeft() { double s = ui.speed_lineEdit->text().toDouble(); - emit moveSignal(0, true, s, 1000); + emit moveSignal(0, abs(s)*-1, 1000); } void OneMotorControl::onxMotorStop() @@ -406,14 +406,14 @@ void OneMotorControl_LiftingPlatform::connectMotor(bool isNotification) if (m_multiAxisController != nullptr) { - disconnect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector)), this, SLOT(display_x_loc(std::vector))); - disconnect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int))); - disconnect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int))); - disconnect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int))); - disconnect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int))); - disconnect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int))); - disconnect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int))); - disconnect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector)), this, SLOT(display_motors_connectivity(std::vector))); + disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &OneMotorControl_LiftingPlatform::display_x_loc); + disconnect(this, &OneMotorControl_LiftingPlatform::moveSignal, m_multiAxisController, qOverload(&IrisMultiMotorController::move)); + disconnect(this, qOverload(&OneMotorControl_LiftingPlatform::move2LocSignal), m_multiAxisController, qOverload(&IrisMultiMotorController::moveTo)); + disconnect(this, &OneMotorControl_LiftingPlatform::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop); + disconnect(this, &OneMotorControl_LiftingPlatform::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart); + disconnect(this, &OneMotorControl_LiftingPlatform::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement); + disconnect(this, &OneMotorControl_LiftingPlatform::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity); + disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &OneMotorControl_LiftingPlatform::display_motors_connectivity); m_motorThread.quit(); m_motorThread.wait(); @@ -437,20 +437,20 @@ void OneMotorControl_LiftingPlatform::connectMotor(bool isNotification) } m_multiAxisController->moveToThread(&m_motorThread); - connect(&m_motorThread, SIGNAL(finished()), m_multiAxisController, SLOT(deleteLater())); + connect(&m_motorThread, &QThread::finished, m_multiAxisController, &QObject::deleteLater); - connect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector)), this, SLOT(display_x_loc(std::vector))); + connect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &OneMotorControl_LiftingPlatform::display_x_loc); - connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int))); - connect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int))); - connect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int))); + connect(this, &OneMotorControl_LiftingPlatform::moveSignal, m_multiAxisController, qOverload(&IrisMultiMotorController::move)); + connect(this, qOverload(&OneMotorControl_LiftingPlatform::move2LocSignal), m_multiAxisController, qOverload(&IrisMultiMotorController::moveTo)); + connect(this, &OneMotorControl_LiftingPlatform::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop); - connect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int))); + connect(this, &OneMotorControl_LiftingPlatform::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart); - connect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int))); + connect(this, &OneMotorControl_LiftingPlatform::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement); - connect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int))); - connect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector)), this, SLOT(display_motors_connectivity(std::vector))); + connect(this, &OneMotorControl_LiftingPlatform::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity); + connect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &OneMotorControl_LiftingPlatform::display_motors_connectivity); m_motorThread.start(); emit testConnectivitySignal(0, 1000); @@ -525,14 +525,14 @@ void OneMotorControl_LiftingPlatform::onxMotorRight() { double s = ui.speed_lineEdit->text().toDouble(); - emit moveSignal(0, false, s, 1000); + emit moveSignal(0, abs(s), 1000); } void OneMotorControl_LiftingPlatform::onxMotorLeft() { double s = ui.speed_lineEdit->text().toDouble(); - emit moveSignal(0, true, s, 1000); + emit moveSignal(0, abs(s)*-1, 1000); } void OneMotorControl_LiftingPlatform::onxMotorStop() diff --git a/HPPA/OneMotorControl.h b/HPPA/OneMotorControl.h index 8945475..6c31788 100644 --- a/HPPA/OneMotorControl.h +++ b/HPPA/OneMotorControl.h @@ -54,7 +54,7 @@ public Q_SLOTS: void onSequenceComplete_gonggashan_autoexpose(int state); signals: - void moveSignal(int, bool, double, int); + void moveSignal(int, double, int); void move2LocSignal(int, double, double, int); void move2LocSignal(const std::vector, const std::vector, int); void stopSignal(int); @@ -125,7 +125,7 @@ public Q_SLOTS: void onBack2Origin(double pos); signals: - void moveSignal(int, bool, double, int); + void moveSignal(int, double, int); void move2LocSignal(int, double, double, int); void move2LocSignal(const std::vector, const std::vector, int); void stopSignal(int); diff --git a/HPPA/TwoMotorControl.cpp b/HPPA/TwoMotorControl.cpp index f2128a7..c257778 100644 --- a/HPPA/TwoMotorControl.cpp +++ b/HPPA/TwoMotorControl.cpp @@ -306,7 +306,7 @@ void TwoMotorControl::run() connect(&m_coordinatorThread, SIGNAL(finished()), m_coordinator, SLOT(deleteLater())); connect(this, SIGNAL(start(QVector)), m_coordinator, SLOT(start(QVector))); - connect(this, SIGNAL(stopSignal()), m_coordinator, SLOT(stop())); + connect(this, SIGNAL(stopSignal_CaptureCoordinator()), m_coordinator, SLOT(stop())); connect(m_coordinator, SIGNAL(startRecordLineNumSignal(int)), this, SLOT(receiveStartRecordLineNum(int))); connect(m_coordinator, SIGNAL(finishRecordLineNumSignal(int)), this, SLOT(receiveFinishRecordLineNum(int))); connect(m_coordinator, SIGNAL(sequenceComplete(int)), this, SLOT(onSequenceComplete(int))); @@ -352,7 +352,7 @@ void TwoMotorControl::stop_record() void TwoMotorControl::stop() { - emit stopSignal(); + emit stopSignal_CaptureCoordinator(); } TwoMotorControl::~TwoMotorControl() @@ -385,14 +385,14 @@ void TwoMotorControl::connectMotor(bool isNotification) if (m_multiAxisController != nullptr) { - disconnect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector)), this, SLOT(displayRealTimeLoc(std::vector))); - disconnect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int))); - disconnect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int))); - disconnect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int))); - disconnect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int))); - disconnect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int))); - disconnect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int))); - disconnect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector)), this, SLOT(display_motors_connectivity(std::vector))); + disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &TwoMotorControl::displayRealTimeLoc); + disconnect(this, &TwoMotorControl::moveSignal, m_multiAxisController, qOverload(&IrisMultiMotorController::move)); + disconnect(this, qOverload(&TwoMotorControl::move2LocSignal), m_multiAxisController, qOverload(&IrisMultiMotorController::moveTo)); + disconnect(this, &TwoMotorControl::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop); + disconnect(this, &TwoMotorControl::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart); + disconnect(this, &TwoMotorControl::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement); + disconnect(this, &TwoMotorControl::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity); + disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &TwoMotorControl::display_motors_connectivity); m_motorThread.quit(); m_motorThread.wait(); @@ -416,20 +416,20 @@ void TwoMotorControl::connectMotor(bool isNotification) } m_multiAxisController->moveToThread(&m_motorThread); - connect(&m_motorThread, SIGNAL(finished()), m_multiAxisController, SLOT(deleteLater())); + connect(&m_motorThread, &QThread::finished, m_multiAxisController, &QObject::deleteLater); - connect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector)), this, SLOT(displayRealTimeLoc(std::vector))); + connect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &TwoMotorControl::displayRealTimeLoc); - connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int))); - connect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int))); - connect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int))); + connect(this, &TwoMotorControl::moveSignal, m_multiAxisController, qOverload(&IrisMultiMotorController::move)); + connect(this, qOverload(&TwoMotorControl::move2LocSignal), m_multiAxisController, qOverload(&IrisMultiMotorController::moveTo)); + connect(this, &TwoMotorControl::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop); - connect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int))); + connect(this, &TwoMotorControl::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart); - connect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int))); + connect(this, &TwoMotorControl::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement); - connect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int))); - connect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector)), this, SLOT(display_motors_connectivity(std::vector))); + connect(this, &TwoMotorControl::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity); + connect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &TwoMotorControl::display_motors_connectivity); m_motorThread.start(); emit testConnectivitySignal(0, 1000); @@ -543,14 +543,14 @@ void TwoMotorControl::onxMotorRight() { double s = ui.xmotor_move_speed_lineEdit->text().toDouble(); - emit moveSignal(0, false, s, 1000); + emit moveSignal(0, abs(s), 1000); } void TwoMotorControl::onxMotorLeft() { double s = ui.xmotor_move_speed_lineEdit->text().toDouble(); - emit moveSignal(0, true, s, 1000); + emit moveSignal(0, abs(s)*-1, 1000); } void TwoMotorControl::onxMotorStop() @@ -562,14 +562,14 @@ void TwoMotorControl::onyMotorforward() { double s = ui.ymotor_move_speed_lineEdit->text().toDouble(); - emit moveSignal(1, false, s, 1000); + emit moveSignal(1, abs(s), 1000); } void TwoMotorControl::onyMotorbackward() { double s = ui.ymotor_move_speed_lineEdit->text().toDouble(); - emit moveSignal(1, true, s, 1000); + emit moveSignal(1, abs(s)*-1, 1000); } void TwoMotorControl::onyMotorStop() diff --git a/HPPA/TwoMotorControl.h b/HPPA/TwoMotorControl.h index 16c120b..1415c14 100644 --- a/HPPA/TwoMotorControl.h +++ b/HPPA/TwoMotorControl.h @@ -96,7 +96,7 @@ public Q_SLOTS: void stop_record(); signals: - void moveSignal(int, bool, double, int); + void moveSignal(int, double, int); void move2LocSignal(int, double, double, int); void move2LocSignal(const std::vector, const std::vector, int); void stopSignal(int); @@ -106,7 +106,7 @@ signals: void testConnectivitySignal(int, int); void start(QVector); - void stopSignal(); + void stopSignal_CaptureCoordinator(); void startLineNumSignal(int lineNum); void sequenceComplete(int status);//所有采集线正常运行完成 diff --git a/HPPA/focusWindow.cpp b/HPPA/focusWindow.cpp index cf86a90..7e2814f 100644 --- a/HPPA/focusWindow.cpp +++ b/HPPA/focusWindow.cpp @@ -859,8 +859,8 @@ MotionCaptureCoordinator::MotionCaptureCoordinator( , m_isZeroing(false) { //这些信号槽是按照逻辑顺序的 - connect(this, SIGNAL(moveTo(int, double, double, int)), - m_motorCtrl, SLOT(moveTo(int, double, double, int))); + connect(this, qOverload(&MotionCaptureCoordinator::moveTo), + m_motorCtrl, qOverload(&IrisMultiMotorController::moveTo)); connect(this, &MotionCaptureCoordinator::zeroStart, m_motorCtrl, &IrisMultiMotorController::zeroStart); @@ -870,8 +870,8 @@ MotionCaptureCoordinator::MotionCaptureCoordinator( //connect(m_motorCtrl, &IrisMultiMotorController::moveFailed, // this, &MotionCaptureCoordinator::handleError); - connect(this, SIGNAL(getFocusIndexSobel()), - m_cameraCtrl, SLOT(getFocusIndexSobel())); + connect(this, &MotionCaptureCoordinator::getFocusIndexSobel, + m_cameraCtrl, &ImagerOperationBase::getFocusIndexSobel); connect(m_cameraCtrl, &ImagerOperationBase::FocusIndexSobelSignal, this, &MotionCaptureCoordinator::handleCaptureComplete); diff --git a/HPPA/setWindow.cpp b/HPPA/setWindow.cpp index 548d93b..164282a 100644 --- a/HPPA/setWindow.cpp +++ b/HPPA/setWindow.cpp @@ -11,8 +11,8 @@ setWindow::setWindow(QWidget* parent) setWindowFlags(Qt::FramelessWindowHint); //顺序不能更改,和AppSettings::HyperimgDisplayMode一致 - ui.hyperimgDisplayMode_comboBox->addItem("full"); - ui.hyperimgDisplayMode_comboBox->addItem("waterfall"); + ui.hyperimgDisplayMode_comboBox->addItem(QString::fromLocal8Bit("全图")); + ui.hyperimgDisplayMode_comboBox->addItem(QString::fromLocal8Bit("瀑布流")); connect(this->ui.closeBtn, SIGNAL(released()), this, SLOT(onExit())); connect(this->ui.dataFolderBtn, SIGNAL(clicked()), this, SLOT(onSelectDataFolder()));