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::kDefaultScanSpeed = 1.0;
|
||||||
const double AppSettings::kDefaultReturnSpeed = 5.0;
|
const double AppSettings::kDefaultReturnSpeed = 5.0;
|
||||||
const int AppSettings::kDefaultGonggaShanRecordPort = 666;
|
const int AppSettings::kDefaultGonggaShanRecordPort = 666;
|
||||||
const QString AppSettings::kDefaultHyperimgDisplayMode = QStringLiteral("full");
|
const AppSettings::HyperimgDisplayMode AppSettings::kDefaultHyperimgDisplayMode = HyperimgDisplayMode::Waterfall;
|
||||||
|
|
||||||
AppSettings::AppSettings()
|
AppSettings::AppSettings()
|
||||||
: m_settings(QSettings::IniFormat, QSettings::UserScope,
|
: m_settings(QSettings::IniFormat, QSettings::UserScope,
|
||||||
@ -150,12 +150,14 @@ void AppSettings::setGonggaShanRecordPort(int value)
|
|||||||
m_settings.setValue("GonggaShanRecordCtl/Port", 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;
|
int gonggaShanRecordPort() const;
|
||||||
void setGonggaShanRecordPort(int value);
|
void setGonggaShanRecordPort(int value);
|
||||||
|
|
||||||
// 图像显示模式(full / waterfall)
|
// 图像显示模式枚举
|
||||||
QString hyperimgDisplayMode() const;
|
enum class HyperimgDisplayMode { Full, Waterfall };
|
||||||
void setHyperimgDisplayMode(const QString& mode);
|
|
||||||
|
// 图像显示模式
|
||||||
|
HyperimgDisplayMode hyperimgDisplayMode() const;
|
||||||
|
void setHyperimgDisplayMode(HyperimgDisplayMode mode);
|
||||||
// 在此处添加更多参数的 getter/setter ...
|
// 在此处添加更多参数的 getter/setter ...
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -73,5 +76,5 @@ private:
|
|||||||
static const double kDefaultScanSpeed;
|
static const double kDefaultScanSpeed;
|
||||||
static const double kDefaultReturnSpeed;
|
static const double kDefaultReturnSpeed;
|
||||||
static const int kDefaultGonggaShanRecordPort;
|
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);
|
m_GraphicsPixmapItemHandle->setPixmap(*image);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_displayMode =="full")
|
if (m_displayMode == AppSettings::HyperimgDisplayMode::Full)
|
||||||
{
|
{
|
||||||
ensureSceneVisible();
|
ensureSceneVisible();
|
||||||
}
|
}
|
||||||
else if (m_displayMode == "waterfall")
|
else if (m_displayMode == AppSettings::HyperimgDisplayMode::Waterfall)
|
||||||
{
|
{
|
||||||
ensureWaterfallVisible();
|
ensureWaterfallVisible();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -80,7 +80,7 @@ private:
|
|||||||
QGraphicsLineItem* m_hLine = nullptr; // horizontal line
|
QGraphicsLineItem* m_hLine = nullptr; // horizontal line
|
||||||
QGraphicsLineItem* m_vLine = nullptr; // vertical line
|
QGraphicsLineItem* m_vLine = nullptr; // vertical line
|
||||||
|
|
||||||
QString m_displayMode;
|
AppSettings::HyperimgDisplayMode m_displayMode;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void leftMouseButtonPressed(int, int, QVector<double>, QVector<double>);
|
void leftMouseButtonPressed(int, int, QVector<double>, QVector<double>);
|
||||||
|
|||||||
@ -10,6 +10,7 @@ setWindow::setWindow(QWidget* parent)
|
|||||||
|
|
||||||
setWindowFlags(Qt::FramelessWindowHint);
|
setWindowFlags(Qt::FramelessWindowHint);
|
||||||
|
|
||||||
|
//顺序不能更改,和AppSettings::HyperimgDisplayMode一致
|
||||||
ui.hyperimgDisplayMode_comboBox->addItem("full");
|
ui.hyperimgDisplayMode_comboBox->addItem("full");
|
||||||
ui.hyperimgDisplayMode_comboBox->addItem("waterfall");
|
ui.hyperimgDisplayMode_comboBox->addItem("waterfall");
|
||||||
|
|
||||||
@ -28,13 +29,17 @@ void setWindow::loadSettings()
|
|||||||
{
|
{
|
||||||
ui.dataFolderLineEdit->setText(AppSettings::instance().dataFolder());
|
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()
|
void setWindow::saveSettings()
|
||||||
{
|
{
|
||||||
AppSettings::instance().setDataFolder(ui.dataFolderLineEdit->text());
|
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()
|
void setWindow::onSelectDataFolder()
|
||||||
|
|||||||
Reference in New Issue
Block a user