diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a7f93ef30ec04e83fc921cabe983472851d54b3..306bebe57eac8fa52e6bf6086aa7977e05473059 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,7 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) wordopcontrolled.cpp wordopcontrolled.h newdevicedialog.h newdevicedialog.cpp newdevicedialog.ui newoperationdialog.h newoperationdialog.cpp newoperationdialog.ui + recognize.h recognize.cpp ) # Define target properties for Android with Qt 6 as: # set_property(TARGET DetectionDescription APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR diff --git a/mainwindow.cpp b/mainwindow.cpp index 91a6bccfa652cf5863bccfd8d8fc9c0028a1dd9b..de64779085bf3b1247f3987f34cf95908e123958 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -35,10 +35,10 @@ MainWindow::MainWindow(QWidget *parent) ObjectFactory::registerClass(); ObjectFactory::registerClass(); ObjectFactory::registerClass(); + ObjectFactory::registerClass(); //InitTreeView(); - InitImageComboBox(); InitSerialPortNameComboBox(); InitSerialPortBaudComboBox(); InitSerialPortDataBitsComboBox(); @@ -55,12 +55,6 @@ MainWindow::~MainWindow() delete ui; } -void MainWindow::InitImageComboBox(){ - for(int i = 0;i < 30; i++){ - ui->comboBoxImages->addItem(QString("%1").arg(i + 1),QVariant(i + 1)); - } -} - void MainWindow::InitSerialPortNameComboBox(){ for(int i = 0;i < 8; i++){ ui->comboBoxSerialPortName->addItem(QString("COM%1").arg(i + 1),QVariant(i + 1)); @@ -242,7 +236,11 @@ void MainWindow::on_image_tree_currentChanged(const QModelIndex& current) Step *pStep = var.value(); UpdateStepData(pStep); ui->stackedWidget->setCurrentIndex(7); - }else{ + }else if(text == QStringLiteral("Recognize")){ + Recognize *pRecognize = var.value(); + UpdateRecognizeData(pRecognize); + ui->stackedWidget->setCurrentIndex(8); + }else { ui->stackedWidget->setCurrentIndex(0); } } @@ -308,14 +306,12 @@ void MainWindow::UpdateWordopControlLEDData(WordopControlLED* pWordopControlLEDD } void MainWindow::UpdateSnapData(Snap* pSnap){ + ui->lineEditSnapImage->setText(QString::number(pSnap->nImageNum())); ui->lineEditCameraDeviceID->setText(pSnap->strDeviceID()); - for(int i = 0;i < ui->comboBoxImages->count();i++){ - QVariant var = ui->comboBoxImages->itemData(i); - if(var == pSnap->nImageNum()){ - ui->comboBoxImages->setCurrentIndex(i); - break; - } - } +} + +void MainWindow::UpdateRecognizeData(Recognize* pRecognize){ + ui->lineEditRecognizeImage->setText(QString::number(pRecognize->nImageNum())); } void MainWindow::UpdateMoveJointData(MoveJoint* pMoveJoint){ @@ -554,23 +550,6 @@ void MainWindow::on_lineEditDuration_editingFinished() } -void MainWindow::on_comboBoxCameras_currentIndexChanged(int index) -{ - QVariant currentData = ui->comboBoxImages->currentData(); - if(m_pCurrentItem) - { - QVariant var = m_pCurrentItem->data(); - // 处理代码 - int indexCurrentItem = m_nCurrentIndex.row() ; // 获取item的行号 - QString text = m_pCurrentItem->text(); // 获取item的文本 - - if(text == QStringLiteral("Snap")){ - Snap *pSnap = var.value(); - pSnap->setNImageNum(currentData.toInt()); - } - } -} - void MainWindow::on_lineEditCameraDeviceID_editingFinished() { @@ -641,7 +620,6 @@ void MainWindow::on_lineEditWordopControlLEDDeviceID_editingFinished() } } - void MainWindow::on_lineEditMoveJoint1_editingFinished() { QVariant var = m_pCurrentItem->data(); @@ -773,3 +751,37 @@ void MainWindow::on_lineEditStep_editingFinished() } } +void MainWindow::on_lineEditRecognizeImage_editingFinished() +{ + QVariant var = m_pCurrentItem->data(); + if(m_pCurrentItem) + { + // 处理代码 + int indexCurrentItem = m_nCurrentIndex.row() ; // 获取item的行号 + QString text = m_pCurrentItem->text(); // 获取item的文本 + + if(text == QStringLiteral("Recognize")){ + Recognize *pRecognize = var.value(); + pRecognize->setNImageNum(ui->lineEditRecognizeImage->text().toInt()); + } + } +} + +void MainWindow::on_lineEditSnapImage_editingFinished() +{ + QVariant var = m_pCurrentItem->data(); + if(m_pCurrentItem) + { + // 处理代码 + int indexCurrentItem = m_nCurrentIndex.row() ; // 获取item的行号 + QString text = m_pCurrentItem->text(); // 获取item的文本 + + if(text == QStringLiteral("Snap")){ + Snap *pSnap = var.value(); + pSnap->setNImageNum(ui->lineEditSnapImage->text().toInt()); + } + } +} + + + diff --git a/mainwindow.h b/mainwindow.h index 747c1cca3394c2939e6a23db56b421305b596a4a..4059b8d3b2a4fcad13719ba33917435bfd50d4f0 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -15,6 +15,7 @@ #include "wordopcontrolled.h" #include "movejoint.h" #include "snap.h" +#include "recognize.h" #include "step.h" #include "newdevicedialog.h" #include "newoperationdialog.h" @@ -70,8 +71,6 @@ private slots: void on_lineEditDuration_editingFinished(); - void on_comboBoxCameras_currentIndexChanged(int index); - void on_lineEditCameraDeviceID_editingFinished(); void on_comboBoxLEDChannel_currentIndexChanged(int index); @@ -96,12 +95,15 @@ private slots: void on_lineEditStep_editingFinished(); + void on_lineEditSnapImage_editingFinished(); + + void on_lineEditRecognizeImage_editingFinished(); + private: void insterTreeNode(QString str,QStandardItem *parent); void InitTreeView(); private: - void InitImageComboBox(); void InitSerialPortNameComboBox(); void InitSerialPortBaudComboBox(); void InitSerialPortDataBitsComboBox(); @@ -115,6 +117,7 @@ private: void UpdateDelayData(Delay* pDelay); void UpdateWordopControlLEDData(WordopControlLED* pWordopControlLEDData); void UpdateSnapData(Snap* pSnap); + void UpdateRecognizeData(Recognize* pRecognize); void UpdateMoveJointData(MoveJoint* pMoveJoint); void UpdateStepData(Step* pStep); diff --git a/mainwindow.ui b/mainwindow.ui index a8f43465c6838aaedc4e9b4b49d0aba5dfd479c4..34d4e51c943d48812fd2378682b1a907c0848066 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -31,7 +31,7 @@ - 4 + 8 @@ -165,9 +165,6 @@ - - - @@ -178,6 +175,9 @@ + + + @@ -302,6 +302,20 @@ + + + + + + Image + + + + + + + + diff --git a/newoperationdialog.cpp b/newoperationdialog.cpp index 8d11109a617c0549501941ddc1cdc1ae3d5378c1..bd47baa84796536e654796352e6e59d0ed28ba9b 100644 --- a/newoperationdialog.cpp +++ b/newoperationdialog.cpp @@ -20,6 +20,7 @@ void NewOperationDialog::InitOperationName(){ ui->comboBoxOperationName->addItem(QStringLiteral("Snap")); ui->comboBoxOperationName->addItem(QStringLiteral("WordopControlLED")); ui->comboBoxOperationName->addItem(QStringLiteral("MoveJoint")); + ui->comboBoxOperationName->addItem(QStringLiteral("Recognize")); ui->comboBoxOperationName->setCurrentIndex(0); m_strOperationName = QStringLiteral("Delay"); diff --git a/recognize.cpp b/recognize.cpp new file mode 100644 index 0000000000000000000000000000000000000000..70869360dc4c322490dd1288c5bbe86e10cf9749 --- /dev/null +++ b/recognize.cpp @@ -0,0 +1,49 @@ +#include "recognize.h" +#include + +Recognize::Recognize(QObject *parent) + : Operation{parent} + , m_nImageNum(1) +{} + +int Recognize::nImageNum() const +{ + return m_nImageNum; +} + +void Recognize::setNImageNum(int newNImageNum) +{ + m_nImageNum = newNImageNum; +} + +void Recognize::run(){ + qDebug() << "Snap is Running!"; +} + +QString Recognize::getClassName(){ + return this->metaObject()->className(); +} + +void Recognize::writeXML(QXmlStreamWriter& writer){ + // 鍐欏叆褰撳墠鎿嶄綔鐨勪俊鎭 + writer.writeStartElement("Recognize"); + + writer.writeTextElement("image", QString::number(m_nImageNum)); + + writer.writeEndElement(); // 缁撴潫褰撳墠鎿嶄綔鐨勫厓绱 +} + +void Recognize::readFromXML(QXmlStreamReader& reader){ + QXmlStreamAttributes attributes = reader.attributes(); + + QXmlStreamReader::TokenType token = reader.readNext(); + while (!(reader.tokenType() == QXmlStreamReader::EndElement && + reader.name() == QStringLiteral("Recognize"))) { + + if (reader.name() == QStringLiteral("image")) { + m_nImageNum = reader.readElementText().toInt(); + } + + reader.readNext(); + } +} diff --git a/recognize.h b/recognize.h new file mode 100644 index 0000000000000000000000000000000000000000..22e347d4c5a43427046f854666cc35941bf062e5 --- /dev/null +++ b/recognize.h @@ -0,0 +1,29 @@ +#ifndef RECOGNIZE_H +#define RECOGNIZE_H + +#include +#include "operation.h" + +class Recognize : public Operation +{ + Q_OBJECT +public: + explicit Recognize(QObject *parent = nullptr); + +private: + // 缂栧彿 + int m_nImageNum; + +public: + virtual void run() override; + + virtual void writeXML(QXmlStreamWriter& writer) override; + virtual void readFromXML(QXmlStreamReader& reader) override; + virtual QString getClassName() override; + +public: + int nImageNum() const; + void setNImageNum(int newNImageNum); +}; + +#endif // RECOGNIZE_H diff --git a/snap.h b/snap.h index 6651ae271804c6d7c266e661d7d96483bda9737f..098a4b08b94c05c18f7c63760bb3cc9c12f3baa2 100644 --- a/snap.h +++ b/snap.h @@ -12,7 +12,7 @@ public: explicit Snap(QObject *parent = nullptr); private: - // 鎽勫儚鏈虹紪鍙 + // 缂栧彿 int m_nImageNum; public: