From 2fd81a6b62b0baf536bd1951666855714b5def40 Mon Sep 17 00:00:00 2001 From: chenzenghui <3045316072@qq.com> Date: Fri, 9 May 2025 17:06:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AE=97=E6=B3=95=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E7=95=8C=E9=9D=A2=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LAMPDataProcessEXE/LAMPMainWidget.sqlite | Bin 55181312 -> 55242752 bytes .../RasterMainWidget/RasterMainWidget.cpp | 3 + .../RasterMainWidget/RasterMainWidget.h | 4 + .../RasterWidgetMessageShow.cpp | 2 +- .../KJ135WBJYAlgInterfaceToolbox.cpp | 30 +++++- .../KJ135WBJYAlgInterfaceToolbox.h | 12 +++ .../KJ135WBJYAlgInterfaceToolbox.vcxproj | 3 + ...135WBJYAlgInterfaceToolbox.vcxproj.filters | 9 ++ .../QWBFZExcuteAlgProgramDialog.cpp | 94 ++++++++++++++++++ .../QWBFZExcuteAlgProgramDialog.h | 38 +++++++ .../QWBFZExcuteAlgProgramDialog.ui | 32 ++++++ 11 files changed, 224 insertions(+), 3 deletions(-) create mode 100644 Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.cpp create mode 100644 Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.h create mode 100644 Toolbox/KJ135WBJYAlgInterfaceToolbox/QWBFZExcuteAlgProgramDialog.ui diff --git a/LAMPDataProcessEXE/LAMPMainWidget.sqlite b/LAMPDataProcessEXE/LAMPMainWidget.sqlite index efcd3944ecaa88476f1fa8f5621970c9ebb14b0e..1ec0944a2544433ca25bfa2fb9f7aa34241598ce 100644 GIT binary patch delta 3702 zcmZA3cW{)|9>#IDq!J+1P(tth2_%%zJ18pHu@MF7q9`g>0_dZHR0}9*=sh4omDO2K#3CB>u1;M z5;?FTub^dQ|72MaD{958xRqcfT1i&2m13n@C9O28lvUa)W2IYVt#Vd*tAbV0s$^wY zm8~jPRjZnnX;rssST(I$R&A?}RoAL#)wdd04Xs92W2=eP)M{omw^~>&EzXl=wX#}U z*;bC##%gP|v)Ws^RtKx2)ye8?b+Niy-K_3b538ru%j#|QvHDv5th21Mt^U?I*16Vs z)&Ogub-s0hb)j{Ub+L7cb*VMTy3D%Vy285By2=`Cn3Zwb+dJgb*nYOy3M-Xy2HBDy34xTnrP))ldQ?s6zd-A zUdz^f*8SE4)>Lbn^`JG~nqkefW?8eXIo3ng!`36#qt;w&p7ogZxHaEeU_D_yX%$!t ztwq*iYl*egT4pV`R#+>oRn}^2jkVS)wANYct*5LF)<)}T>ly1=>p82)+GIU%y((3Ao7P*_+txeQR%@H}uJxYvzO~)@z}jK$w02n^S|3>- zTf41KtWT}atk114tS_yvtgo#-);HF-)_2xk>w9aT^@H`J^^^6p^^3LNI$-^39kdQv zhppeN->oCoQR|rXhxMoRmv!9w+d5&Lv`$&4rz$c-5kwI~90^E75|WXERFp&-N})8$ zART2<4&_k+6;TNpsEjJ8ifYJ2b<{vj)Ix34L0!~CeKbHrG(uxEK~pqCbF@H9g!5;i z6QaRf(k41eHH{DtHA z8z*oQr*JwlRZ)Kah$4nK5|D@_BqIf>D2X(bLTQviI?AFP%A*1*q7pJt8C6gf)sTtm zsDYZOh1#ftx~PZxXn=-jgvMxsrf7!dXn~dp=g&ebv_>{^&<1VM4(*YP4(NzZ=!`Dt zif-tR9_Wc)=#4(;i+(r@XQMyP!MQjO127Qh;{sfWi*PY6!KE04%Wyfaz?HZPgOP`; zaSeuGD6YjY495tJ#3+o$7+i<3xE?oP9B#x-7>}EA3vR^(+=kn62kyjOxEm9Zk4cz} zDYyss!nhCj;{i;?G(3pun1Pv?h1r;chwv~S!K0Xqd3X$uV?Gw(2|S4cEW{!##u6;W zGAzdmti&p;#u}_eA=Y6%p27xf#M5{N&*C{0VH2Lm3wRMP;bm+_F}C0pyo%TGI^MvW zcnfdi9c;xmyo>knKDOfn?7&X!!iV?>A7eK@!Ke5PpW_RBiLdZA_TU?Qi|?YFwKp19 z^3ix&3I3+8D^APX8{HR+r}a+jT6}EC-e^X0q)kETF?*xgso5(EM{&)hp!T1aL{^^h7NHA8BJ)DEc=Qa7YtNd1roAq_(sg)|On64ErJSxEDc z79lM|6p|IvDx`Htc1TW0n~=64?Lyjz;{Id$#WqbzPmJW2NIjT*DydXLW~^x>w`j+yc!NlMQKP~k1zB5DVwuH92A+;? zk0fL-V>Y*TT6(3V)SOn?xj8D%nz1{&Es_#h$X978s|B^!9*<@u=Co@4|JBqpt4mnT zo12w8sB*m3zt&LgH8mQm z63Hqamy#IU9!cijg^L;#j{NVuc;KWJ(Vd)jEi=v&i&c)OcmTs)k;LpZ42Pe&Fe9ei z|80@P7OT%ZT*pC`qiSD#m?sW!+7496f(hpID`ciU!UbwJchc Qe{{t5SkcM#<74Un0S80T)c^nh delta 3312 zcmWmGcbEut9LMon);Z&BXPrIH_}F{zQm9BIq*S^FlF}gRQ$|KKXc(oGtW-vF3enU; z)9NUd&M2a&_xF$2`}sY;zdrx`p656D;EIgNlb2`AsgUnLLPE2}b2B?89#}hkQKQ8D zQ)DGtNmjCzV&${)TLr9wRv|0ZDr}`$MXaJ$F{`+hZk4b~TBWSgRvD|TRn97JWmpxg zidH47vQ@>(w5nRwtm;+`tEN@Us%_P=>RR=zEUUiNz-nkUve?tuYGO6Dnpw@Q7FJ8E zmDSp6W3{!~S?#S3R!6Io)!FJ|b+x)#-K`#0Ppg;J+q%TM)aqkhW?gRewfb58tt+f6 zt*fj7)tk4_0~x12J1#^ly#GJvvrF#+Pc-swr;a- zx9+g+w8mItt#Q^})_Ch~Yl3x;b+0wiy3e}bdcb}-sM=V>9T8~-N ztm)PaYo_(MHOrc9&9UZMPgwJ;`PP%xQ`XbgGu8rYq4liwob|l*g0;w6Y%Q^tS}$5J zS<9@Ktyiq&)~nWQ)(Y!&Yo)cyT5YYd)>>~^>#R4ex2(6V_0|S!qqWI;$J%VYYi+S| ztgY62*8A2rYrD0>`oP+0?Xo_!KC(WxKCwQvKC^aPpIcv8Us_*TUt4>uz1BYK8|z!^ zJL`Mv2kS>`zjeSmXdSW+TR&O3))DKd^|SShb?I&S@8OqXbH# z6iTBE%Ay>~BLfvs5tUFGRgj6QsD|pOftsj=+NguNsD~`nM*}oOBgFp3Xo99_hURF2 zmS~06XoI$BhxX`zj_8EW=z^~3hVJNrp6G?%xCED?4=%&y=!<^nk1KE`uEGEe#MKyt zYcLo?a4m-7It;^bjKK96i5qYuM&Tyhj9V}ow;~(2;db1CJ23`hF%EZOJnqH>+=F{D z5%=MKJb(u=36t>6n3;cpS4Z8*?xhPhcMA<4HV)r|}FHU?HBx zb9f#vU=bE$36|nTyo6Xpau)h)(E?F6fGG z=#C!fiC*Z9OK>Ur;4)l}zUYVkxB^$=Dh$9tT#Z4v27@sK*J3EH!!QiT2wabmxB)j} z6mG)JxCNteE3$DLZpR(C6JszI<8T+o<8DmAJ-8PWaUbr-19%XVFc}YF3Z~*=JOblU zJcenQjv1JV$1w}DF$Z(;1m7UEevhv)GE7GW`#U@2b2OIU`N@d}pX zRlJ53cpWRT3ahaOYw-rw;Z3}Sx3L}@uo0W^4mRUmY(WmT;yt{NZP<<-_y9Yx3m@Vm ze2h=hCBDMf*n_>;hi~vLzQgzU0Y73t4&WdT;V^zm+M?W~6cs$3l9mwP z)SR^8xk*QpQ&vn$NXR)eGB>Gg!Ne|$ie~2~HA~Gpzoc41Le{w@nX~(FL5@U@Mt+X` z5;+$6HS$~J_sH?cACbJsiO9*wsmSTbpOL>JXCh}Ke@D(m&PV=<{2RFtxfuB`X-1#y zWDbduq)2ikC6X_aKT;r4Fj6Rz8Yvt}ixi0zjTDO%kEBORL`p_VMM_7?M9N0WMaoAq zA{8PPBb6eRBUK`qk*bkuk?N5ek(!ZOk=l_uk-Cw3k*rAlNP|ejNTY}%jU!DWO(V@B z%_A)$EhDWWts`wBZ6oa>?IRr`9V4A0og-Z$T_fEh-6K6BJtMu6bNXcWPTnvze`0E0 VLTcXn^nNvtq~_$E@12~U?|;E`QG@^h 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 + + + + + + + + +