完善了日志打印功能,日志现在可以打印到界面上

pull/4/head
陈增辉 2025-02-17 15:03:09 +08:00
parent 508919dcaf
commit 9f2eb2d577
20 changed files with 779 additions and 66 deletions

View File

@ -1,39 +1,42 @@
<!DOCTYPE PolynomialOrbitModel>
<PolynomialOrbitModel>
<CoefficientsX>
<Value>0</Value>
<Value>0</Value>
<Value>0</Value>
<Value>-3.87361e-22</Value>
</CoefficientsX>
<CoefficientsY>
<Value>0</Value>
<Value>0</Value>
<Value>0</Value>
<Value>1.02335e-21</Value>
</CoefficientsY>
<CoefficientsZ>
<Value>0</Value>
<Value>0</Value>
<Value>0</Value>
<Value>9.98733e-22</Value>
</CoefficientsZ>
<CoefficientsVx>
<Value>0</Value>
<Value>0</Value>
<Value>0</Value>
<Value>7.26583e-25</Value>
</CoefficientsVx>
<CoefficientsVy>
<Value>0</Value>
<Value>0</Value>
<Value>0</Value>
<Value>-8.25398e-25</Value>
</CoefficientsVy>
<CoefficientsVz>
<Value>0</Value>
<Value>0</Value>
<Value>0</Value>
<Value>1.1246e-24</Value>
</CoefficientsVz>
</PolynomialOrbitModel>
<?xml version="1.0" encoding="UTF-8"?>
<PolyfitSatelliteOribtModel>
<oribtStartTime>1.68716940499955272674560546875000000e+09</oribtStartTime>
<PolyfitParameters Pxchisq="527.283" Pychisq="1053.58" Pzchisq="1562.09" Vxchisq="0.00172575" Vychisq="0.0029282" Vzchisq="0.00312073">
<polyfitPx>
<Value>-1.86229e+06</Value>
<Value>3495.73</Value>
<Value>0.72946</Value>
<Value>-0.000779779</Value>
</polyfitPx>
<polyfitPy>
<Value>4.92261e+06</Value>
<Value>-3969.57</Value>
<Value>-2.9471</Value>
<Value>0.000688281</Value>
</polyfitPy>
<polyfitPz>
<Value>4.80358e+06</Value>
<Value>5408.93</Value>
<Value>-2.64701</Value>
<Value>-0.000989861</Value>
</polyfitPz>
<polyfitVx>
<Value>3495.74</Value>
<Value>1.45927</Value>
<Value>-0.002344</Value>
<Value>-1.59885e-07</Value>
</polyfitVx>
<polyfitVy>
<Value>-3969.58</Value>
<Value>-5.89791</Value>
<Value>0.00207178</Value>
<Value>1.18532e-06</Value>
</polyfitVy>
<polyfitVz>
<Value>5408.93</Value>
<Value>-5.29707</Value>
<Value>-0.00297335</Value>
<Value>9.77621e-07</Value>
</polyfitVz>
</PolyfitParameters>
</PolyfitSatelliteOribtModel>

View File

@ -6,7 +6,7 @@
#include <QTextStream>
#include <QDateTime>
#include "LAMPMainWidgetRunProgram.h"
#include "RasterWidgetMessageShow.h"
#pragma execution_character_set("utf-8")
@ -22,28 +22,77 @@ void customMessageHandler(QtMsgType type, const QMessageLogContext& context, con
QFile outFile("application.log");
outFile.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream ts(&outFile);
RasterMessageShow::RasterWidgetMessageShow* _showIntance = RasterMessageShow::RasterWidgetMessageShow::getInstance();
switch (type) {
case QtDebugMsg:
{
QString logMessage = QString("%1 Debug: %2 (%3:%4, %5)\n")
.arg(dateTime) // Assuming dateTime is a QDateTime object and needs to be converted to string
.arg(QString::fromLocal8Bit(localMsg.constData()))
.arg(file)
.arg(context.line)
.arg(function);
ts << logMessage;
_showIntance->ShowMessageInfo(logMessage);
break;
}
case QtInfoMsg:
{
QString logMessage = QString("%1 Info: %2 (%3:%4, %5)\n")
.arg(dateTime)
.arg(QString::fromLocal8Bit(localMsg.constData()))
.arg(file)
.arg(context.line)
.arg(function);
ts << logMessage;
_showIntance->ShowMessageInfo(logMessage);
break;
}
case QtWarningMsg:
{
QString logMessage = QString("%1 Warning: %2 (%3:%4, %5)\n")
.arg(dateTime)
.arg(QString::fromLocal8Bit(localMsg.constData()))
.arg(file)
.arg(context.line)
.arg(function);
ts << logMessage;
break;
}
case QtCriticalMsg:
{
QString logMessage = QString("%1 Critical: %2 (%3:%4, %5)\n")
.arg(dateTime)
.arg(QString::fromLocal8Bit(localMsg.constData()))
.arg(file)
.arg(context.line)
.arg(function);
ts << logMessage;
_showIntance->ShowMessageInfo(logMessage);
break;
}
case QtFatalMsg:
{
QString logMessage = QString("%1 Fatal: %2 (%3:%4, %5)\n")
.arg(dateTime)
.arg(QString::fromLocal8Bit(localMsg.constData()))
.arg(file)
.arg(context.line)
.arg(function);
ts << logMessage;
_showIntance->ShowMessageInfo(logMessage);
abort();
}
}
switch (type) {
case QtDebugMsg:
ts << dateTime << " Debug: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtInfoMsg:
ts << dateTime << " Info: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtWarningMsg:
ts << dateTime << " Warning: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtCriticalMsg:
ts << dateTime << " Critical: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtFatalMsg:
ts << dateTime << " Fatal: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
abort();
}
}
int main(int argc, char *argv[])
{
qInstallMessageHandler(customMessageHandler);
QApplication a(argc, argv);
RasterMainWidgetRun();
return a.exec();

View File

@ -13,6 +13,8 @@
#include "BaseTool.h"
#include "FileOperator.h"
#include "RasterWidgetMessageShow.h"
#pragma execution_character_set("utf-8")
@ -55,6 +57,10 @@ RasterMainWidget::RasterMainWidget(QWidget *parent)
//mUi->panAction->trigger();
//mUi->layerList->setCurrentItem(mLayerList.first());
}
RasterMainWidget::~RasterMainWidget() {
@ -107,6 +113,12 @@ void RasterMainWidget::setupWindow() {
QObject::connect(mUi->layerList, &QListWidget::currentItemChanged, this, &RasterMainWidget::layerChanged);
QObject::connect(mUi->leftTopBtn, &QPushButton::clicked, this, &RasterMainWidget::leftTopClickedHandle);
QObject::connect(mUi->rightBottomBtn, &QPushButton::clicked, this, &RasterMainWidget::rightBottomClickedHandle);
RasterMessageShow::RasterWidgetMessageShow* messageshow = RasterMessageShow::RasterWidgetMessageShow::getInstance(this);
messageshow->bandingTextBrowserMessage(this->mUi->textBrowserMessage);
}
void RasterMainWidget::setupStatusBar() {

View File

@ -15,6 +15,11 @@
#include "QApplicationSettingManager.h"
#include "ToolBoxWidget.h"
namespace Ui {
class RasterMainWidget;
}
@ -75,7 +80,6 @@ namespace LAMPMainWidget {
private slots:
void on_drawArea_triggered();
void on_addPlaneaction_triggered();
private:

View File

@ -322,6 +322,29 @@
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="dockWidgetMessage">
<property name="windowTitle">
<string>消息窗口</string>
</property>
<attribute name="dockWidgetArea">
<number>8</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_2">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QTextBrowser" name="textBrowserMessage">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'SimSun'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<action name="tutorialAction">
<property name="text">
<string>使用教程</string>

View File

@ -127,6 +127,7 @@
<ClCompile Include="RasterMainWidget\tmsprovider.cpp" />
<ClCompile Include="RasterMainWidget\tmsproviderfactory.cpp" />
<ClCompile Include="RasterMainWidget\webmercator.cpp" />
<ClCompile Include="RasterWidgetMessageShow.cpp" />
<QtRcc Include="RasterMainWidgetGUI.qrc" />
<ClCompile Include="main.cpp" />
<QtUic Include="RasterMainWidget\RasterMainWidget.ui" />
@ -161,6 +162,7 @@
<ClInclude Include="RasterMainWidget\tmslayer.h" />
<ClInclude Include="RasterMainWidget\tmsproviderfactory.h" />
<ClInclude Include="RasterMainWidget\webmercator.h" />
<QtMoc Include="RasterWidgetMessageShow.h" />
<QtMoc Include="RasterMainWidget\tmsprovider.h" />
<QtMoc Include="RasterMainWidget\taskwindow.h" />
<QtMoc Include="RasterMainWidget\sponsorwindow.h" />

View File

@ -115,6 +115,9 @@
<ClCompile Include="RasterMainWidget\webmercator.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RasterWidgetMessageShow.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="RasterMainWidget\crs.h">
@ -224,6 +227,9 @@
<QtMoc Include="RasterMainWidget\tmsprovider.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="RasterWidgetMessageShow.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<None Include="RasterMainWidget\proj.db" />

View File

@ -0,0 +1,44 @@
#include "RasterWidgetMessageShow.h"
namespace RasterMessageShow {
RasterWidgetMessageShow* RasterWidgetMessageShow::_instance = nullptr;
RasterWidgetMessageShow::RasterWidgetMessageShow(QObject* parant):QObject(parant)
{
QObject::connect(this, SIGNAL(ShowMessage(QString)), this, SLOT(ShowMessageInfo(QString)));
}
RasterWidgetMessageShow::~RasterWidgetMessageShow()
{
}
void RasterWidgetMessageShow::bandingTextBrowserMessage(QTextBrowser* intextBrowserMessage)
{
this->textBrowserMessage = intextBrowserMessage;
}
QTextBrowser* RasterWidgetMessageShow::getTextBrowserMessage()
{
return textBrowserMessage;
}
void RasterWidgetMessageShow::ShowMessageInfo(QString Message)
{
if (nullptr != this->textBrowserMessage) {
this->textBrowserMessage->append(Message);
}
else {}
}
RasterWidgetMessageShow* RasterWidgetMessageShow::getInstance(QObject* parant)
{
if (nullptr == RasterWidgetMessageShow::_instance) {
RasterWidgetMessageShow::_instance = new RasterWidgetMessageShow(parant);
}
return RasterWidgetMessageShow::_instance;
}
};

View File

@ -0,0 +1,35 @@
#pragma once
#include "RasterMainWidgetGUIAPI.h"
#include <QTextBrowser>
#include <QString>
namespace RasterMessageShow {
class RASTERMAINWIDGETGUI_EXPORT RasterWidgetMessageShow:public QObject
{
Q_OBJECT
public:
RasterWidgetMessageShow(QObject* parant=nullptr);
~RasterWidgetMessageShow();
private:
QTextBrowser* textBrowserMessage=nullptr;
public:
void bandingTextBrowserMessage(QTextBrowser* textBrowserMessage);
QTextBrowser* getTextBrowserMessage();
signals:
void ShowMessage(QString Message);
public slots:
void ShowMessageInfo(QString Message);
private:
static RasterWidgetMessageShow* _instance; // µ¥Àý
public:
static RasterWidgetMessageShow* getInstance(QObject* parant = nullptr);
};
}

View File

@ -13,6 +13,7 @@ QComplex2AmpPhase::QComplex2AmpPhase(QWidget *parent)
QObject::connect(ui.radioButtonAmp,SIGNAL(toggled(bool)),this,SLOT(radioButtonAmptoggled(bool)));
QObject::connect(ui.radioButtonPhase, SIGNAL(toggled(bool)), this, SLOT(radioButtonPhasetoggled(bool)));
QObject::connect(ui.radioButtonSigma0, SIGNAL(toggled(bool)), this, SLOT(radioButtonSigma0toggled(bool)));
QObject::connect(ui.buttonBox, SIGNAL(accept()), this, SLOT(accept()));
QObject::connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
//toggled(bool )
}

View File

@ -0,0 +1,3 @@
#pragma once

View File

@ -0,0 +1,105 @@
#include "QSimulationLookTableDialog.h"
#include "ui_QSimulationLookTableDialog.h"
#include <QFileDialog>
#include <QMessageBox>
QSimulationLookTableDialog::QSimulationLookTableDialog(QWidget *parent)
: QDialog(parent),ui(new Ui::QSimulationLookTableDialogClass)
{
ui->setupUi(this);
}
QSimulationLookTableDialog::~QSimulationLookTableDialog()
{
}
void QSimulationLookTableDialog::onrejected()
{
this->close();
}
void QSimulationLookTableDialog::onpushButtonOrbitModelClicked(bool)
{
// 调用文件选择对话框并选择一个 .tif 文件
QString fileName = QFileDialog::getOpenFileName(this,
u8"GPS Orbit Model xml", // 对话框标题
"", // 初始目录,可以设置为路径
u8"xml Files (*.xml)"); // 文件类型过滤器
if (!fileName.isEmpty()) {
this->ui->OrbitModelPathLineEdit->setText(fileName);
}
else {
QMessageBox::information(this, u8"没有选择文件", u8"没有选择任何文件");
}
}
void QSimulationLookTableDialog::onpushButtonSataSettingClicked(bool)
{
// 调用文件选择对话框并选择一个 .tif 文件
QString fileName = QFileDialog::getOpenFileName(this,
u8"Satellite Params setting xml", // 对话框标题
"", // 初始目录,可以设置为路径
u8"xml Files (*.xml)"); // 文件类型过滤器
if (!fileName.isEmpty()) {
this->ui->SateSettingLineEdit->setText(fileName);
}
else {
QMessageBox::information(this, u8"没有选择文件", u8"没有选择任何文件");
}
}
void QSimulationLookTableDialog::onpushButtonDEMClicked(bool)
{
// 调用文件选择对话框并选择一个 .tif 文件
QString fileName = QFileDialog::getOpenFileName(this,
u8"DEM Raster Select", // 对话框标题
"", // 初始目录,可以设置为路径
u8"tiff Files (*.tiff);;tif Files (*.tif);;dat Files (*.dat);;All Files (*.*)"); // 文件类型过滤器
if (!fileName.isEmpty()) {
this->ui->DEMLineEdit->setText(fileName);
}
else {
QMessageBox::information(this, u8"没有选择文件", u8"没有选择任何文件");
}
}
void QSimulationLookTableDialog::onpushButtonOutDirClicked(bool)
{
// 调用文件选择对话框并选择一个 .tif 文件
QString fileName = QFileDialog::getExistingDirectory(this,
u8"DEM Raster Select", // 对话框标题
"" // 初始目录,可以设置为路径
);
if (!fileName.isEmpty()) {
this->ui->outDirLineEdit->setText(fileName);
}
else {
QMessageBox::information(this, u8"没有选择文件", u8"没有选择任何文件");
}
}
void QSimulationLookTableDialog::onaccepted()
{
QString orbitpath = this->ui->OrbitModelPathLineEdit->text();
QString SatePath = this->ui->SateSettingLineEdit->text();
QString DEMPath = this->ui->DEMLineEdit->text();
QString outDirPath = this->ui->outDirLineEdit->text();
double gridX = this->ui->doubleSpinBoxGridX->value();
double gridY = this->ui->doubleSpinBoxGridY->value();
bool gpuflag = this->ui->radioButtonGPU->isChecked();
bool looktableflag = this->ui->LookTableCheck->checkState();
bool checkBoxIncAngle = this->ui->checkBoxIncAngle->checkState();
}

View File

@ -0,0 +1,32 @@
#pragma once
#include <QDialog>
namespace Ui {
class QSimulationLookTableDialogClass;
}
class QSimulationLookTableDialog : public QDialog
{
Q_OBJECT
public:
QSimulationLookTableDialog(QWidget *parent = nullptr);
~QSimulationLookTableDialog();
private:
Ui::QSimulationLookTableDialogClass* ui;
public slots:
void onaccepted();
void onrejected();
void onpushButtonOrbitModelClicked(bool);
void onpushButtonSataSettingClicked(bool);
void onpushButtonDEMClicked(bool);
void onpushButtonOutDirClicked(bool);
};

View File

@ -0,0 +1,342 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>QSimulationLookTableDialogClass</class>
<widget class="QDialog" name="QSimulationLookTableDialogClass">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>763</width>
<height>400</height>
</rect>
</property>
<property name="windowTitle">
<string>QSimulationLookTableDialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="4" column="1">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>产品参数设置</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>Grid X</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>Grid Y</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="doubleSpinBoxGridX">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="doubleSpinBoxGridY">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>DEM文件</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="DEMLineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="outDirLineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>D:/Programme/vs2022/RasterMergeTest/simulationData/demdataset/demxyz.bin</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>多项式轨道模型参数:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="pushButtonOrbitModel">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>选择</string>
</property>
</widget>
</item>
<item row="6" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="pushButtonDEM">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>选择</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="SateSettingLineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>D:/Programme/vs2022/RasterMergeTest/simulationData/demdataset/demxyz.bin</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="pushButtonSataSetting">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>选择</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>卫星仿真参数:</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="pushButtonOutDir">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>选择</string>
</property>
</widget>
</item>
<item row="4" column="0" rowspan="2">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>计算资源</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QRadioButton" name="radioButtonGPU">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>GPU</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButtonCPU">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>CPU</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="6" column="0">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="OrbitModelPathLineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>D:/Programme/vs2022/RasterMergeTest/simulationData/demdataset/demxyz.bin</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>产品输出类型</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="LookTableCheck">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>查找表</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxIncAngle">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>局地入射角</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="7" column="0" colspan="3">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_9">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>结果文件保存地址:</string>
</property>
</widget>
</item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>

View File

@ -80,11 +80,13 @@ void QSimulationPolynomialSAROrbitModel::onbtnaccepted()
qDebug() << "poly degree " << polynum;
ployfitOribtModel->setSatelliteOribtStartTime(startTime);
ErrorCode stateCode = ployfitOribtModel->polyFit(polynum, false);
stateCode = ployfitOribtModel->polyFit(polynum, false);
if (stateCode != ErrorCode::SUCCESS) {
qDebug() << QString::fromStdString(errorCode2errInfo(stateCode));
return ;
}
ployfitOribtModel->saveToXml(outmodelpath);
qDebug() << "PolynomialSAROrbitModel fit finished!!";
QMessageBox::information(this, u8"信息", u8"模型拟合成功");
}

View File

@ -3,6 +3,7 @@
#include "RasterMainWidget.h"
#include "ToolBoxWidget.h"
#include "QSimulationSARPolynomialOrbitModel.h"
#include "QSimulationLookTableDialog.h"
SARSimlulationRFPCToolButton::SARSimlulationRFPCToolButton(QWidget* parent)
{
@ -64,14 +65,30 @@ void QSimulationSAROrbitModelToolButton::excute()
void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWidget* toolbox)
{
SARSimlulationRFPCToolButton* items6 = new SARSimlulationRFPCToolButton(toolbox);
SARSimulationTBPImageToolButton* items7 = new SARSimulationTBPImageToolButton(toolbox);
QSimulationSAROrbitModelToolButton* items8 = new QSimulationSAROrbitModelToolButton(toolbox);
emit toolbox->addBoxToolItemSIGNAL(items6);
emit toolbox->addBoxToolItemSIGNAL(items7);
emit toolbox->addBoxToolItemSIGNAL(items8);
emit toolbox->addBoxToolItemSIGNAL(new SARSimlulationRFPCToolButton(toolbox));
emit toolbox->addBoxToolItemSIGNAL(new SARSimulationTBPImageToolButton(toolbox));
emit toolbox->addBoxToolItemSIGNAL(new QSimulationSAROrbitModelToolButton(toolbox));
emit toolbox->addBoxToolItemSIGNAL(new LookTableComputerClassToolButton(toolbox));
}
LookTableComputerClassToolButton::LookTableComputerClassToolButton(QWidget* parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"·ÂÕæ¹¤¾ß¿â");
this->toolname = QString(u8"²éÕÒ±íÉú³É");
}
LookTableComputerClassToolButton::~LookTableComputerClassToolButton()
{
}
void LookTableComputerClassToolButton::excute()
{
QSimulationLookTableDialog* dialog = new QSimulationLookTableDialog;
dialog->show();
}

View File

@ -49,6 +49,19 @@ public slots:
};
class SIMULATIONSARTOOL_EXPORT LookTableComputerClassToolButton : public QToolAbstract {
Q_OBJECT
public:
LookTableComputerClassToolButton(QWidget* parent = nullptr);
~LookTableComputerClassToolButton();
public slots:
virtual void excute() override;
};
extern "C" SIMULATIONSARTOOL_EXPORT void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWidget* toolbox);

View File

@ -37,7 +37,7 @@
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
<QtInstall>tools_qt5</QtInstall>
<QtModules>core</QtModules>
<QtModules>core;gui;widgets</QtModules>
<QtBuildConfig>debug</QtBuildConfig>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
@ -111,7 +111,9 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="PowerSimulationIncoherent\LookTableComputerClass.cpp" />
<ClCompile Include="PowerSimulationIncoherent\OribtModelOperator.cpp" />
<ClCompile Include="PowerSimulationIncoherent\QSimulationLookTableDialog.cpp" />
<ClCompile Include="PowerSimulationIncoherent\QSimulationSARPolynomialOrbitModel.cpp" />
<ClCompile Include="SimulationSAR\QImageSARRFPC.cpp" />
<ClCompile Include="SimulationSAR\QSARLookTableSimualtionGUI.cpp" />
@ -124,7 +126,9 @@
<ClCompile Include="SimulationSAR\SigmaDatabase.cpp" />
<ClCompile Include="SimulationSAR\TBPImageAlgCls.cpp" />
<QtMoc Include="PowerSimulationIncoherent\QSimulationSARPolynomialOrbitModel.h" />
<ClInclude Include="PowerSimulationIncoherent\LookTableComputerClass.h" />
<ClInclude Include="PowerSimulationIncoherent\OribtModelOperator.h" />
<QtMoc Include="PowerSimulationIncoherent\QSimulationLookTableDialog.h" />
<ClInclude Include="SimulationSARToolAPI.h" />
<ClInclude Include="simulationsartool_global.h" />
<QtMoc Include="SimulationSAR\QImageSARRFPC.h" />
@ -151,6 +155,7 @@
<CudaCompile Include="SimulationSAR\GPUTBPImage.cuh" />
</ItemGroup>
<ItemGroup>
<QtUic Include="PowerSimulationIncoherent\QSimulationLookTableDialog.ui" />
<QtUic Include="PowerSimulationIncoherent\QSimulationSARPolynomialOrbitModel.ui" />
<QtUic Include="SimulationSAR\QImageSARRFPC.ui" />
<QtUic Include="SimulationSAR\QSARLookTableSimualtionGUI.ui" />

View File

@ -59,6 +59,9 @@
<ClInclude Include="PowerSimulationIncoherent\OribtModelOperator.h">
<Filter>PowerSimulationIncoherent</Filter>
</ClInclude>
<ClInclude Include="PowerSimulationIncoherent\LookTableComputerClass.h">
<Filter>PowerSimulationIncoherent</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="SimulationSAR\QImageSARRFPC.cpp">
@ -97,6 +100,12 @@
<ClCompile Include="PowerSimulationIncoherent\QSimulationSARPolynomialOrbitModel.cpp">
<Filter>PowerSimulationIncoherent</Filter>
</ClCompile>
<ClCompile Include="PowerSimulationIncoherent\QSimulationLookTableDialog.cpp">
<Filter>PowerSimulationIncoherent</Filter>
</ClCompile>
<ClCompile Include="PowerSimulationIncoherent\LookTableComputerClass.cpp">
<Filter>PowerSimulationIncoherent</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtUic Include="SimulationSAR\QImageSARRFPC.ui">
@ -114,6 +123,9 @@
<QtUic Include="PowerSimulationIncoherent\QSimulationSARPolynomialOrbitModel.ui">
<Filter>PowerSimulationIncoherent</Filter>
</QtUic>
<QtUic Include="PowerSimulationIncoherent\QSimulationLookTableDialog.ui">
<Filter>PowerSimulationIncoherent</Filter>
</QtUic>
</ItemGroup>
<ItemGroup>
<QtMoc Include="SimulationSAR\QImageSARRFPC.h">
@ -134,6 +146,9 @@
<QtMoc Include="PowerSimulationIncoherent\QSimulationSARPolynomialOrbitModel.h">
<Filter>PowerSimulationIncoherent</Filter>
</QtMoc>
<QtMoc Include="PowerSimulationIncoherent\QSimulationLookTableDialog.h">
<Filter>PowerSimulationIncoherent</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<CudaCompile Include="SimulationSAR\GPURFPC.cu">