modify ui config

This commit is contained in:
jiegeaiai 2025-01-21 08:52:43 +08:00
parent d6aecc5183
commit 63fd5665f8
8 changed files with 49 additions and 8 deletions

View File

@ -293,3 +293,7 @@ QDockWidget DockTitleWidget QPushButton::menu-indicator,
QDockWidget DockTitleWidget QToolButton::menu-indicator {
image: none;
}
QListWidget {
border: none;
}

View File

@ -322,3 +322,7 @@ QDockWidget DockTitleWidget QPushButton::menu-indicator,
QDockWidget DockTitleWidget QToolButton::menu-indicator {
image: none;
}
QListWidget {
border: none;
}

View File

@ -27,7 +27,7 @@ QueryElevationWidget::QueryElevationWidget(OEScene* oeScene)
, oeScene_(oeScene) {
LOG_INFO("actor self={}", spdlog::fmt_lib::ptr(this));
label_ = new ColorLabel("");
label_ = new ColorLabel(GetElevationString(0, 0, 0).c_str());
addWidget(label_);
getBackground()->setColor(0.0f, 0.0f, 0.0f, 0.3f);
}
@ -51,10 +51,7 @@ void QueryElevationWidget::OnUpdateGeoPoint(double x, double y, double z) {
// x 保存小数点后6位 c++14
dyt_check(nullptr != label_);
QString info = QObject::tr("longitude:") + QString::number(x, 'f', 6) + ", "
+ QString::fromLocal8Bit("latitude:") + QString::number(y, 'f', 6) + ", "
+ QString::fromLocal8Bit("altitude:") + QString::number(z, 'f', 6);
label_->setLabel(info.toLocal8Bit().constData());
label_->setLabel(GetElevationString(x, y, z));
}
@ -63,6 +60,14 @@ void QueryElevationWidget::ResetCanvasPosition(double width, double height) {
label_->setSize(width, 20);
}
std::string QueryElevationWidget::GetElevationString(double x, double y, double z) {
QString info = QObject::tr("longitude:") + QString::number(x, 'f', 6) + ", "
+ QObject::tr("latitude:") + QString::number(y, 'f', 6) + ", "
+ QObject::tr("altitude:") + QString::number(z, 'f', 6);
return std::string(info.toLocal8Bit().constData());
}
QueryElevationWidget::QueryElevationEventHandler::QueryElevationEventHandler(
osgEarth::MapNode* mapNode, QueryElevationWidget* widget)
: osgGA::GUIEventHandler()

View File

@ -1,6 +1,6 @@
#pragma once
#include <string>
#include <osgGA/GUIEventHandler>
#include <osgWidget/Box>
#include <osgWidget/Label>
@ -27,6 +27,9 @@ public:
void OnUpdateGeoPoint(double x, double y, double z);
void ResetCanvasPosition(double width, double height);
private:
std::string GetElevationString(double x, double y, double z);
private:
class OEScene* oeScene_;

View File

@ -881,10 +881,20 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../scene/ui/QueryElevationWidget.cpp" line="54"/>
<location filename="../scene/ui/QueryElevationWidget.cpp" line="65"/>
<source>longitude:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../scene/ui/QueryElevationWidget.cpp" line="66"/>
<source>latitude:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../scene/ui/QueryElevationWidget.cpp" line="67"/>
<source>altitude:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtBoolEdit</name>

View File

@ -62,7 +62,7 @@ void DockWidget::SetDockWidgetTitleBar(DockWidgetTitleBar* titleBar) {
}
titleBar_->SetTitle(windowTitle());
connect(titleBar_, &DockWidgetTitleBar::signalClose, this, &DockWidget::close);
connect(titleBar_, &DockWidgetTitleBar::signalClose, this, &DockWidget::OnClose);
QDockWidget::setTitleBarWidget(titleBar_);
}
@ -76,3 +76,9 @@ void DockWidget::resizeEvent(QResizeEvent* e) {
initStyleOption(&opt);
}
void DockWidget::OnClose() {
LOG_INFO("DockWidget::OnClose");
close();
emit signalClose();
}

View File

@ -35,10 +35,16 @@ public:
void SetDockWidgetTitleBar(DockWidgetTitleBar* titleBar);
Q_SIGNALS:
void signalClose();
protected:
void showEvent(QShowEvent* e) override;
void resizeEvent(QResizeEvent* e) override;
private:
void OnClose();
private:
DockWidgetTitleBar* titleBar_{ nullptr };
};

View File

@ -41,6 +41,9 @@ void WindowManagerMenu::AddDockWidget(DockWidget* dockWidget) {
item->data(DockWidgetRole).value<DockWidget*>()->setVisible(checked);
});
item->setData(DockWidgetRole, QVariant::fromValue(dockWidget));
connect(dockWidget, &DockWidget::signalClose, [this, item]() {
item->setCheckState(Qt::Unchecked);
});
ui->listWidget->addItem(item);
}