diff --git a/LAMPDataProcessEXE/LAMPMainWidget.sqlite b/LAMPDataProcessEXE/LAMPMainWidget.sqlite index efcd394..1ec0944 100644 Binary files a/LAMPDataProcessEXE/LAMPMainWidget.sqlite and b/LAMPDataProcessEXE/LAMPMainWidget.sqlite differ diff --git a/RasterMainWidgetGUI/RasterMainWidget/RasterMainWidget.cpp b/RasterMainWidgetGUI/RasterMainWidget/RasterMainWidget.cpp index 28210ff..55a4491 100644 --- a/RasterMainWidgetGUI/RasterMainWidget/RasterMainWidget.cpp +++ b/RasterMainWidgetGUI/RasterMainWidget/RasterMainWidget.cpp @@ -90,6 +90,9 @@ namespace LAMPMainWidget { } void RasterMainWidget::setupWindow() { + //mMapglWidget = new QOpenGLWidget(mMapConvas); // 使用OpenGL渲染 + //mMapConvas->setViewport(mMapglWidget); + //mMapConvas->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); mUi->mapCanvasLayout->addWidget(mMapConvas); //setFixedSize(size()); //setWindowFlags(windowFlags() | Qt::WindowMinMaxButtonsHint | Qt::WindowSystemMenuHint); diff --git a/RasterMainWidgetGUI/RasterMainWidget/RasterMainWidget.h b/RasterMainWidgetGUI/RasterMainWidget/RasterMainWidget.h index 48b7e49..b496804 100644 --- a/RasterMainWidgetGUI/RasterMainWidget/RasterMainWidget.h +++ b/RasterMainWidgetGUI/RasterMainWidget/RasterMainWidget.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -76,6 +77,9 @@ namespace LAMPMainWidget { private: Ui::RasterMainWidget* mUi; MapCanvas* mMapConvas;//地图容器 + QOpenGLWidget* mMapglWidget;// OpenGL窗口 + + QLineEdit* mScaleText; QLabel* mScaleLabel; QLineEdit* mCenterText; diff --git a/RasterMainWidgetGUI/RasterWidgetMessageShow.cpp b/RasterMainWidgetGUI/RasterWidgetMessageShow.cpp index d045371..184de1f 100644 --- a/RasterMainWidgetGUI/RasterWidgetMessageShow.cpp +++ b/RasterMainWidgetGUI/RasterWidgetMessageShow.cpp @@ -32,7 +32,7 @@ namespace RasterMessageShow { this->textBrowserMessage->append(Message); this->textBrowserMessage->moveCursor(QTextCursor::MoveOperation::End); this->textBrowserMessage->repaint(); - std::cout << Message.toLocal8Bit().constData() << std::endl; + //std::cout << Message.toLocal8Bit().constData() << std::endl; } else {} } diff --git a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.cpp b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.cpp index 15b2753..8dbd2a0 100644 --- a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.cpp +++ b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.cpp @@ -1,19 +1,22 @@ #include "KJ135WBJYAlgInterfaceToolbox.h" #include "ToolBoxWidget.h" #include "QWBFZAlgComponetXmlParamsDialog.h" +#include "QWBFZExcuteAlgProgramDialog.h" void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWidget* toolbox) { emit toolbox->addBoxToolItemSIGNAL(new WBFZAlgComponetLoadXmlParamsDialogToolButton(toolbox)); + emit toolbox->addBoxToolItemSIGNAL(new QWBFZExcuteAlgProgramDialogToolButton(toolbox)); } -WBFZAlgComponetLoadXmlParamsDialogToolButton::WBFZAlgComponetLoadXmlParamsDialogToolButton(QWidget* parent) +WBFZAlgComponetLoadXmlParamsDialogToolButton::WBFZAlgComponetLoadXmlParamsDialogToolButton(QWidget* parent) : QToolAbstract(parent) { this->toolPath = QVector(0); - this->toolPath.push_back(u8"ջʮ΢㷨"); + this->toolPath.push_back(u8"΢㷨"); this->toolname = QString(u8"㷨xml"); } + WBFZAlgComponetLoadXmlParamsDialogToolButton::~WBFZAlgComponetLoadXmlParamsDialogToolButton() { @@ -25,3 +28,26 @@ void WBFZAlgComponetLoadXmlParamsDialogToolButton::run() { WBFZAlgComponetLoadXmlParamsProcess(); } + + + +QWBFZExcuteAlgProgramDialogToolButton::QWBFZExcuteAlgProgramDialogToolButton(QWidget* parent) : QToolAbstract(parent) +{ + this->toolPath = QVector(0); + this->toolPath.push_back(u8"΢㷨"); + this->toolname = QString(u8"ִ΢㷨"); +} + +QWBFZExcuteAlgProgramDialogToolButton::~QWBFZExcuteAlgProgramDialogToolButton() +{ + +} + +void QWBFZExcuteAlgProgramDialogToolButton::run() +{ + QWBFZExcuteAlgProgramDialog* dialog = new QWBFZExcuteAlgProgramDialog(); + dialog->setWindowTitle(u8"ִ΢㷨"); + dialog->show(); + //dialog->exec(); + //dialog->deleteLater(); +} diff --git a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.h b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.h index 7d280d4..1c01d00 100644 --- a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.h +++ b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.h @@ -38,6 +38,18 @@ public: +/// +/// ؿջʮ΢㷨ִн +/// +class KJ2ALGINTERFACETOOLBOX_EXPORT QWBFZExcuteAlgProgramDialogToolButton : public QToolAbstract { + Q_OBJECT +public: + QWBFZExcuteAlgProgramDialogToolButton(QWidget* parent = nullptr); + ~QWBFZExcuteAlgProgramDialogToolButton(); +public: + virtual void run() override; + +}; diff --git a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.vcxproj b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.vcxproj index c121644..7121617 100644 --- a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.vcxproj +++ b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.vcxproj @@ -112,9 +112,11 @@ + + @@ -123,6 +125,7 @@ + diff --git a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.vcxproj.filters b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.vcxproj.filters index ea199e6..fb69b29 100644 --- a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.vcxproj.filters +++ b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgInterfaceToolbox.vcxproj.filters @@ -35,6 +35,9 @@ Source Files + + Source Files + @@ -54,10 +57,16 @@ Header Files + + Header Files + Form Files + + Form Files + \ No newline at end of file diff --git a/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.cpp b/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.cpp new file mode 100644 index 0000000..99c3c13 --- /dev/null +++ b/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.cpp @@ -0,0 +1,94 @@ +#include "QWBFZExcuteAlgProgramDialog.h" +#include "ui_QWBFZExcuteAlgProgramDialog.h" +#include "KJ135WBJYAlgWidgetComponet.h" +#include +#include + +QWBFZExcuteAlgProgramDialog::QWBFZExcuteAlgProgramDialog(QWidget *parent) + : QDialog(parent), + ui(new Ui::QWBFZExcuteAlgProgramDialogClass), + xmlfileSelectWidget(new FileSelectWidget(this)), + exefileSelectWidget(new FileSelectWidget(this)) +{ + ui->setupUi(this); + + // Ӳѡ + exefileSelectWidget->setParaName(u8"㷨ִexe"); + exefileSelectWidget->setParaChsName(u8"㷨ִexe"); + exefileSelectWidget->setDescription(u8"㷨ִexe"); + exefileSelectWidget->setDatatype(u8"string"); + exefileSelectWidget->setParaType(u8"Value"); + exefileSelectWidget->setComponentType(ComponentType::FileSelect); + exefileSelectWidget->initUI(); + + xmlfileSelectWidget->setParaName(u8"㷨xmlļ"); + xmlfileSelectWidget->setParaChsName(u8"㷨xmlļ"); + xmlfileSelectWidget->setDescription(u8"㷨xmlļ"); + xmlfileSelectWidget->setDatatype(u8"string"); + xmlfileSelectWidget->setParaType(u8"Value"); + xmlfileSelectWidget->setComponentType(ComponentType::FileSelect); + xmlfileSelectWidget->initUI(); + + + ui->verticalLayout_InParamsRegion->addWidget(exefileSelectWidget); + ui->verticalLayout_InParamsRegion->addWidget(xmlfileSelectWidget); + + // źŲ + QObject::connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(onacceptButton_Clicked())); + QObject::connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(oncancelButton_Clicked())); + this->show(); +} + +QWBFZExcuteAlgProgramDialog::~QWBFZExcuteAlgProgramDialog() +{ + delete ui; +} + +void QWBFZExcuteAlgProgramDialog::onacceptButton_Clicked() +{ + QString xmlfilepath = xmlfileSelectWidget->getValue(); + QString exefilepath = exefileSelectWidget->getValue(); + + qDebug() <<"xmlpath :\t" << xmlfilepath; + qDebug() << "exepath :\t" << exefilepath; + + // ȡexeļļ· + QString exeDirPath = QFileInfo(exefilepath).absolutePath(); + qDebug() << "exedirpath :\t" << exeDirPath; + + // cmdȽexeļĿ¼ȻִexeļΪxmlļ· + QString cmdstr = QString("cd /d %1 && %2 %3").arg(exeDirPath).arg(exefilepath).arg(xmlfilepath); + qDebug() << "cmdstr :\t" << cmdstr; + // ִcmd + QProcess* process = new QProcess(this); + process->setProcessChannelMode(QProcess::MergedChannels); + + + // Windows APIǿƵ + process->setCreateProcessArgumentsModifier([](QProcess::CreateProcessArguments* args) { + args->flags |= CREATE_NEW_CONSOLE; // ¿̨ + args->startupInfo->wShowWindow = SW_SHOWNORMAL; // ʾ + args->startupInfo->dwFlags &= ~STARTF_USESTDHANDLES; // ñ׼ض[3,7](@ref) + }); + + + // ʵʱȡ + connect(process, &QProcess::readyRead, [=]() { + QString output = QString::fromLocal8Bit(process->readAll()); + qDebug() << "CMD Output:" << output; + }); + + // ó·Ͳ + process->start("cmd.exe", QStringList() << "/k" << cmdstr); + + // + connect(process, &QProcess::errorOccurred, [](QProcess::ProcessError error) { + qDebug() << "Error:" << error; + }); + +} + +void QWBFZExcuteAlgProgramDialog::oncancelButton_Clicked() +{ + this->close(); +} diff --git a/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.h b/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.h new file mode 100644 index 0000000..335a8c3 --- /dev/null +++ b/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.h @@ -0,0 +1,38 @@ +#pragma once +#ifndef __QWBFZEXCUTEALGPROGRAMDIALOG_H__ +#define __QWBFZEXCUTEALGPROGRAMDIALOG_H__ + +#include + +namespace Ui { + class QWBFZExcuteAlgProgramDialogClass; +}; + + +class FileSelectWidget; + + +class QWBFZExcuteAlgProgramDialog : public QDialog +{ + Q_OBJECT + +public: + QWBFZExcuteAlgProgramDialog(QWidget *parent = nullptr); + ~QWBFZExcuteAlgProgramDialog(); + + +public slots: + void onacceptButton_Clicked(); // ȷť¼ + void oncancelButton_Clicked(); // ȡť¼ + +private: + Ui::QWBFZExcuteAlgProgramDialogClass* ui; + FileSelectWidget* xmlfileSelectWidget = nullptr; // xmlļѡ + FileSelectWidget* exefileSelectWidget = nullptr; // ļѡ +}; + + + + + +#endif \ No newline at end of file diff --git a/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.ui b/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.ui new file mode 100644 index 0000000..4944838 --- /dev/null +++ b/Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.ui @@ -0,0 +1,32 @@ + + + QWBFZExcuteAlgProgramDialogClass + + + + 0 + 0 + 600 + 400 + + + + QWBFZExcuteAlgProgramDialog + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + +