From 32b541d9278464ee2941f3f678174b0c4ba79687 Mon Sep 17 00:00:00 2001 From: wuyize Date: Sun, 9 Apr 2023 00:06:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=9C=BA=E6=99=AF=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E7=95=8C=E9=9D=A2=E5=8F=8C=E5=87=BB=E7=BA=B9=E7=90=86?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=A1=B9=E8=B7=B3=E8=BD=AC=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E6=89=93=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Editor/EditorWidget.cpp | 26 ++++++++++++------- .../src/MainWindow.cpp | 6 ++++- .../src/Renderer/RendererWidget.cpp | 2 +- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp b/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp index 7f6cd17..93ac817 100644 --- a/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp +++ b/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp @@ -39,9 +39,16 @@ void EditorWidget::renameTab(QWidget* target, QString name) } } -void EditorWidget::handleOpenPaintingFile(QString path) +void EditorWidget::handleOpenPaintingFile(QString fileName) { - qDebug() << path; + if (!fileName.isEmpty()) + { + const int prevCount = this->tabWidget->count(); + this->tabWidget->addTab(new EditorWidgetItem(fileName, this), fileName); + const int nowCount = this->tabWidget->count(); + + emit tabCountChanged(prevCount, nowCount); + } } void EditorWidget::onTabCountChanged(int prev, int now) @@ -76,14 +83,15 @@ void EditorWidget::initFileMenu() }); connect(actionOpen, &QAction::triggered, this, [this] { const QString fileName = QFileDialog::getOpenFileName(this, QStringLiteral("´ò¿ª"), "", QStringLiteral("JSONÎļþ(*.json)")); - if (!fileName.isEmpty()) - { - const int prevCount = this->tabWidget->count(); - this->tabWidget->addTab(new EditorWidgetItem(fileName, this), fileName); - const int nowCount = this->tabWidget->count(); + //if (!fileName.isEmpty()) + //{ + // const int prevCount = this->tabWidget->count(); + // this->tabWidget->addTab(new EditorWidgetItem(fileName, this), fileName); + // const int nowCount = this->tabWidget->count(); - emit tabCountChanged(prevCount, nowCount); - } + // emit tabCountChanged(prevCount, nowCount); + //} + handleOpenPaintingFile(fileName); }); connect(actionSave, &QAction::triggered, this, [this] { auto* item = dynamic_cast(this->tabWidget->currentWidget()); diff --git a/ArchitectureColoredPainting/src/MainWindow.cpp b/ArchitectureColoredPainting/src/MainWindow.cpp index 7768673..c011b9d 100644 --- a/ArchitectureColoredPainting/src/MainWindow.cpp +++ b/ArchitectureColoredPainting/src/MainWindow.cpp @@ -20,7 +20,11 @@ CentralWidget::CentralWidget(QWidget* parent) : QWidget(parent) ui.gridLayout->addWidget(navigationBarWidget, 0, 0, 1, 1, Qt::AlignTop | Qt::AlignHCenter); QObject::connect(navigationBarWidget->tabs, &QtMaterialTabs::currentChanged, ui.stackedWidget, &QStackedWidget::setCurrentIndex); QObject::connect(ui.stackedWidget, &QStackedWidget::currentChanged, ui.rendererWidget, &Renderer::RendererWidget::currentTabChanged); - QObject::connect(ui.rendererWidget, &Renderer::RendererWidget::openPaintingFile, ui.editorWidget, &EditorWidget::handleOpenPaintingFile); + QObject::connect(ui.rendererWidget, &Renderer::RendererWidget::openPaintingFile, [&, navigationBarWidget](QString path) { + navigationBarWidget->tabs->setCurrentTab(0); + ui.stackedWidget->setCurrentWidget(ui.editorWidget); + ui.editorWidget->handleOpenPaintingFile(path); + }); } CentralWidget::~CentralWidget() diff --git a/ArchitectureColoredPainting/src/Renderer/RendererWidget.cpp b/ArchitectureColoredPainting/src/Renderer/RendererWidget.cpp index d2de672..1af6db2 100644 --- a/ArchitectureColoredPainting/src/Renderer/RendererWidget.cpp +++ b/ArchitectureColoredPainting/src/Renderer/RendererWidget.cpp @@ -56,7 +56,7 @@ Renderer::RendererWidget::RendererWidget(QWidget* parent) ui.tabWidget->setStyleSheet(hide ? "QTabBar::tab {background-color:rgba(0,0,0,0);} QTabBar::tab:hover{background-color: rgb(213, 213, 213);}" : "QTabBar::tab:hover{background-color: rgb(213, 213, 213);}"); - ui.tabWidget->setFixedWidth(hide ? ui.tabWidget->tabBar()->width() : maxWidth); + ui.tabWidget->setFixedWidth(hide ? ui.tabWidget->tabBar()->width() - 1 : maxWidth); }); QObject::connect(ui.textureListWidget, &QListWidget::itemDoubleClicked, [&](QListWidgetItem* item) {