From 37286930920bead4dc6f5379c905403e00276d57 Mon Sep 17 00:00:00 2001 From: jiegeaiai Date: Wed, 1 Jan 2025 22:51:54 +0800 Subject: [PATCH] modify osgvier can moveable --- Source/src/main.cpp | 1 + Source/src/translations/Dyt_zh_CN.ts | 4 ++-- Source/src/ui/MainFrame.cpp | 4 ++-- Source/src/ui/MainWindow.cpp | 1 + Source/src/viewer/OsgViewer.cpp | 1 + Source/src/viewer/QtOsgViewWidget.cpp | 11 +++++++++-- Source/src/viewer/QtOsgViewWidget.h | 6 +++--- 7 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Source/src/main.cpp b/Source/src/main.cpp index a9d5442c..879af81c 100644 --- a/Source/src/main.cpp +++ b/Source/src/main.cpp @@ -14,6 +14,7 @@ int main(int argc, char* argv[]) { #endif Application app(argc, argv); + app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); //InstallCrashHandler(); RecourceHelper::ChangeSkin("default"); diff --git a/Source/src/translations/Dyt_zh_CN.ts b/Source/src/translations/Dyt_zh_CN.ts index 070d10a4..45401bc1 100644 --- a/Source/src/translations/Dyt_zh_CN.ts +++ b/Source/src/translations/Dyt_zh_CN.ts @@ -1064,12 +1064,12 @@ QtOsgViewWidget - + notify - + open dyt file failed diff --git a/Source/src/ui/MainFrame.cpp b/Source/src/ui/MainFrame.cpp index 3a9e6f2c..25f0c91e 100644 --- a/Source/src/ui/MainFrame.cpp +++ b/Source/src/ui/MainFrame.cpp @@ -113,11 +113,11 @@ void MainFrame::InitUI() { // AddMenuWidget("chartPlot_manager", tr("chartPlot manager"), chartMenu); - /* MainWindow* mainWindow = new MainWindow(this); + MainWindow* mainWindow = new MainWindow(this); layout->addWidget(mainWindow); QtOsgViewWidget* viewWidget = mainWindow->GetViewWidget(); - connect(fileMenu, &FileManagerMenu::LoadDyt, viewWidget, &QtOsgViewWidget::OnLoadDyt);*/ + connect(fileMenu, &FileManagerMenu::LoadDyt, viewWidget, &QtOsgViewWidget::OnLoadDyt); //connect(chartMenu, &ChartPlotMenu::signalAddCurve, mainWindow->GetFitCurveDlg(), &FitCurveDialog::slotAddSeries); //connect(chartMenu, &ChartPlotMenu::signalDelCurve, mainWindow->GetFitCurveDlg(), &FitCurveDialog::slotDelCurve); diff --git a/Source/src/ui/MainWindow.cpp b/Source/src/ui/MainWindow.cpp index 52576ec1..425f7ccf 100644 --- a/Source/src/ui/MainWindow.cpp +++ b/Source/src/ui/MainWindow.cpp @@ -219,6 +219,7 @@ void MainWindow::InitUI() { void MainWindow::InitDockLayout() { + return; QVariantList listTab = pSettingUI->GetAreaLayout().toList(); for (int i = 0; i < listTab.size(); i++) { diff --git a/Source/src/viewer/OsgViewer.cpp b/Source/src/viewer/OsgViewer.cpp index 3af2dcb8..2a8b5f94 100644 --- a/Source/src/viewer/OsgViewer.cpp +++ b/Source/src/viewer/OsgViewer.cpp @@ -20,6 +20,7 @@ OsgViewer::OsgViewer(QObject* parent) noexcept , compositeViewer_(new osgViewer::CompositeViewer) { LOG_INFO("actor, self={}", fmt::ptr(this)); compositeViewer_->setKeyEventSetsDone(0); + osgEarth::initialize(); //compositeViewer_->setThreadingModel(osgViewer::ViewerBase::ThreadingModel::SingleThreaded); } diff --git a/Source/src/viewer/QtOsgViewWidget.cpp b/Source/src/viewer/QtOsgViewWidget.cpp index c0336b7d..a94b383f 100644 --- a/Source/src/viewer/QtOsgViewWidget.cpp +++ b/Source/src/viewer/QtOsgViewWidget.cpp @@ -11,10 +11,12 @@ #include #include #include +#include #include #include +#include "config.h" #include "app/Application.h" #include "common/SpdLogger.h" #include "viewer/OsgView.h" @@ -29,7 +31,7 @@ QtOsgViewWidget::QtOsgViewWidget(QWidget* parent) : QWidget(parent) { LOG_INFO("actor, self={}", fmt::ptr(this)); - setAttribute(Qt::WA_NativeWindow); + setAttribute(Qt::WA_PaintOnScreen, false); setAttribute(Qt::WA_StaticContents, false); setAttribute(Qt::WA_NoSystemBackground, false); @@ -58,7 +60,7 @@ void QtOsgViewWidget::Initialize(void) { LOG_INFO("view is created"); return; } - WId handle = winId(); + WId handle= winId(); double pixelRatio = screen()->devicePixelRatio(); view_ = OsgViewer::Get().CreateView(x(), y(), width() * pixelRatio, height() * pixelRatio, reinterpret_cast(handle)); @@ -151,6 +153,11 @@ void QtOsgViewWidget::OnLoadDyt(const QString& path) { workspace_ = workSpace; } +//void QtOsgViewWidget::setKeyboardModifiers(QInputEvent* event) { +// dyt_check(nullptr != view_); +// view_->KeyPress(event); +//} + void QtOsgViewWidget::resizeEvent(QResizeEvent* event) { if (nullptr == view_) { return; diff --git a/Source/src/viewer/QtOsgViewWidget.h b/Source/src/viewer/QtOsgViewWidget.h index 452ddc69..6d339217 100644 --- a/Source/src/viewer/QtOsgViewWidget.h +++ b/Source/src/viewer/QtOsgViewWidget.h @@ -16,8 +16,6 @@ public: explicit QtOsgViewWidget(QWidget* parent = nullptr); ~QtOsgViewWidget() override; - void keyPressEvent(QKeyEvent* event) override; - void keyReleaseEvent(QKeyEvent* event) override; //void setKeyboardModifiers(QInputEvent* event) override; QPaintEngine* paintEngine() const override { return nullptr; @@ -27,10 +25,12 @@ public: void Uninitialize(void); void OnLoadDyt(const QString& path); - // void setKeyboardModifiers(QInputEvent* event); + //void setKeyboardModifiers(QInputEvent* event); protected: + void keyPressEvent(QKeyEvent* event) override; + void keyReleaseEvent(QKeyEvent* event) override; //void InitEventHandle(Core::ICameraManipulator* pCameraMainp, Core::IView* pView); void resizeEvent(QResizeEvent* event) override;