fix
优化2种高光谱图像显示方式
This commit is contained in:
@ -11,7 +11,7 @@ const QString AppSettings::kDefaultDepthCameraDataFolder = QString();
|
||||
const double AppSettings::kDefaultScanSpeed = 1.0;
|
||||
const double AppSettings::kDefaultReturnSpeed = 5.0;
|
||||
const int AppSettings::kDefaultGonggaShanRecordPort = 666;
|
||||
const QString AppSettings::kDefaultHyperimgDisplayMode = QStringLiteral("full");
|
||||
const AppSettings::HyperimgDisplayMode AppSettings::kDefaultHyperimgDisplayMode = HyperimgDisplayMode::Waterfall;
|
||||
|
||||
AppSettings::AppSettings()
|
||||
: m_settings(QSettings::IniFormat, QSettings::UserScope,
|
||||
@ -150,12 +150,14 @@ void AppSettings::setGonggaShanRecordPort(int value)
|
||||
m_settings.setValue("GonggaShanRecordCtl/Port", value);
|
||||
}
|
||||
|
||||
QString AppSettings::hyperimgDisplayMode() const
|
||||
AppSettings::HyperimgDisplayMode AppSettings::hyperimgDisplayMode() const
|
||||
{
|
||||
return m_settings.value("Display/HyperimgDisplayMode", kDefaultHyperimgDisplayMode).toString();
|
||||
return static_cast<HyperimgDisplayMode>(
|
||||
m_settings.value("Display/HyperimgDisplayMode",
|
||||
static_cast<int>(kDefaultHyperimgDisplayMode)).toInt());
|
||||
}
|
||||
|
||||
void AppSettings::setHyperimgDisplayMode(const QString& mode)
|
||||
void AppSettings::setHyperimgDisplayMode(HyperimgDisplayMode mode)
|
||||
{
|
||||
m_settings.setValue("Display/HyperimgDisplayMode", mode);
|
||||
m_settings.setValue("Display/HyperimgDisplayMode", static_cast<int>(mode));
|
||||
}
|
||||
|
||||
@ -50,9 +50,12 @@ public:
|
||||
int gonggaShanRecordPort() const;
|
||||
void setGonggaShanRecordPort(int value);
|
||||
|
||||
// 图像显示模式(full / waterfall)
|
||||
QString hyperimgDisplayMode() const;
|
||||
void setHyperimgDisplayMode(const QString& mode);
|
||||
// 图像显示模式枚举
|
||||
enum class HyperimgDisplayMode { Full, Waterfall };
|
||||
|
||||
// 图像显示模式
|
||||
HyperimgDisplayMode hyperimgDisplayMode() const;
|
||||
void setHyperimgDisplayMode(HyperimgDisplayMode mode);
|
||||
// 在此处添加更多参数的 getter/setter ...
|
||||
|
||||
private:
|
||||
@ -73,5 +76,5 @@ private:
|
||||
static const double kDefaultScanSpeed;
|
||||
static const double kDefaultReturnSpeed;
|
||||
static const int kDefaultGonggaShanRecordPort;
|
||||
static const QString kDefaultHyperimgDisplayMode;
|
||||
static const HyperimgDisplayMode kDefaultHyperimgDisplayMode;
|
||||
};
|
||||
|
||||
@ -79,11 +79,11 @@ void Mapcavas::SetImage(QPixmap *image)
|
||||
m_GraphicsPixmapItemHandle->setPixmap(*image);
|
||||
}
|
||||
|
||||
if (m_displayMode =="full")
|
||||
if (m_displayMode == AppSettings::HyperimgDisplayMode::Full)
|
||||
{
|
||||
ensureSceneVisible();
|
||||
}
|
||||
else if (m_displayMode == "waterfall")
|
||||
else if (m_displayMode == AppSettings::HyperimgDisplayMode::Waterfall)
|
||||
{
|
||||
ensureWaterfallVisible();
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ private:
|
||||
QGraphicsLineItem* m_hLine = nullptr; // horizontal line
|
||||
QGraphicsLineItem* m_vLine = nullptr; // vertical line
|
||||
|
||||
QString m_displayMode;
|
||||
AppSettings::HyperimgDisplayMode m_displayMode;
|
||||
|
||||
signals:
|
||||
void leftMouseButtonPressed(int, int, QVector<double>, QVector<double>);
|
||||
|
||||
@ -10,6 +10,7 @@ setWindow::setWindow(QWidget* parent)
|
||||
|
||||
setWindowFlags(Qt::FramelessWindowHint);
|
||||
|
||||
//顺序不能更改,和AppSettings::HyperimgDisplayMode一致
|
||||
ui.hyperimgDisplayMode_comboBox->addItem("full");
|
||||
ui.hyperimgDisplayMode_comboBox->addItem("waterfall");
|
||||
|
||||
@ -28,13 +29,17 @@ void setWindow::loadSettings()
|
||||
{
|
||||
ui.dataFolderLineEdit->setText(AppSettings::instance().dataFolder());
|
||||
|
||||
ui.hyperimgDisplayMode_comboBox->setCurrentText(AppSettings::instance().hyperimgDisplayMode());
|
||||
ui.hyperimgDisplayMode_comboBox->setCurrentIndex(
|
||||
static_cast<int>(AppSettings::instance().hyperimgDisplayMode()));
|
||||
}
|
||||
|
||||
void setWindow::saveSettings()
|
||||
{
|
||||
AppSettings::instance().setDataFolder(ui.dataFolderLineEdit->text());
|
||||
AppSettings::instance().setHyperimgDisplayMode(ui.hyperimgDisplayMode_comboBox->currentText());
|
||||
AppSettings::instance().setHyperimgDisplayMode(
|
||||
ui.hyperimgDisplayMode_comboBox->currentIndex() == 0
|
||||
? AppSettings::HyperimgDisplayMode::Full
|
||||
: AppSettings::HyperimgDisplayMode::Waterfall);
|
||||
}
|
||||
|
||||
void setWindow::onSelectDataFolder()
|
||||
|
||||
Reference in New Issue
Block a user