From 399ee6340da6fcbdcffab85b523b0299f6bd2959 Mon Sep 17 00:00:00 2001 From: duanshengchao <519970194@qq.com> Date: Mon, 19 May 2025 16:12:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=87=E6=8D=A2=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=97=B6=E2=80=98=E5=B1=9E=E6=80=A7=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=99=A8=E2=80=99=E7=9A=84=E5=86=85=E9=83=A8=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9C=AA=E5=90=8C=E6=AD=A5=E5=88=87=E6=8D=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/dbStructureView.h | 2 +- include/mainwindow.h | 2 +- source/dbStructureView.cpp | 2 +- source/mainwindow.cpp | 11 +++++++++-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/include/dbStructureView.h b/include/dbStructureView.h index d6b6619..0cbc42a 100644 --- a/include/dbStructureView.h +++ b/include/dbStructureView.h @@ -42,7 +42,7 @@ signals: void actionTrigger_addGroup(int); void openAttributeInfo(const QString&, ModelAttributeGroup&); void closeAttributeInfo(ModelAttributeGroup&); - void closeAllAttributeInfo(); + void disconnect(); private slots: void itemDoubleClick(const QModelIndex&); diff --git a/include/mainwindow.h b/include/mainwindow.h index f383cac..9201113 100644 --- a/include/mainwindow.h +++ b/include/mainwindow.h @@ -68,7 +68,7 @@ private slots: //void onSIG_addAttributes(); void onSIG_openAttributeInfo(const QString&, ModelAttributeGroup&); void onSIG_closeAttributeInfo(ModelAttributeGroup&); - void onSIG_closeAllAttributeInfo(); + void onSIG_disconnect(); void onSIG_openAttributeSelector(); }; diff --git a/source/dbStructureView.cpp b/source/dbStructureView.cpp index 2895cd1..f9cddc3 100644 --- a/source/dbStructureView.cpp +++ b/source/dbStructureView.cpp @@ -91,7 +91,7 @@ void DBStructureView::disconnectToDB(const QString& connName) if(index.isValid()) collapse(index); - emit closeAllAttributeInfo(); + emit disconnect(); } } diff --git a/source/mainwindow.cpp b/source/mainwindow.cpp index 86827b7..2195cb1 100644 --- a/source/mainwindow.cpp +++ b/source/mainwindow.cpp @@ -86,7 +86,7 @@ void MainWindow::initialize() connect(m_pDBStrutureView, &DBStructureView::actionTrigger_addGroup, this, &MainWindow::onActionTrigger_addGroup); connect(m_pDBStrutureView, &DBStructureView::openAttributeInfo, this, &MainWindow::onSIG_openAttributeInfo); connect(m_pDBStrutureView, &DBStructureView::closeAttributeInfo, this, &MainWindow::onSIG_closeAttributeInfo); - connect(m_pDBStrutureView, &DBStructureView::closeAllAttributeInfo, this, &MainWindow::onSIG_closeAllAttributeInfo); + connect(m_pDBStrutureView, &DBStructureView::disconnect, this, &MainWindow::onSIG_disconnect); ui->layoutDBStructure->addWidget(m_pDBStrutureView); m_pDBStrutureModel = new DBStructureModel(this); m_pDBStrutureModel->setMainWindow(this); @@ -321,10 +321,17 @@ void MainWindow::onSIG_closeAttributeInfo(ModelAttributeGroup& attributeGroup) m_dbBrowser->closeTab_attribute(attributeGroup); } -void MainWindow::onSIG_closeAllAttributeInfo() +void MainWindow::onSIG_disconnect() { if(m_dbBrowser) m_dbBrowser->closeAllTab_attribute(); + + if(m_pAttributeSelector) + { + m_pAttributeSelector->setParent(nullptr); + delete m_pAttributeSelector; + m_pAttributeSelector = nullptr; + } } void MainWindow::onSIG_openAttributeSelector()