diff --git a/logPlus/mainwindow.cpp b/logPlus/mainwindow.cpp index 502f2d7..dbfbe83 100644 --- a/logPlus/mainwindow.cpp +++ b/logPlus/mainwindow.cpp @@ -90,7 +90,7 @@ MainWindow::MainWindow(QWidget *parent) : //关联信号槽,打开项目 connect(CallManage::getInstance(), SIGNAL(sig_Open()), this, SLOT(s_Open())); //关联信号槽,关闭项目 - connect(CallManage::getInstance(), SIGNAL(sig_CloseProject()), this, SLOT(s_CloseProject())); + //connect(CallManage::getInstance(), SIGNAL(sig_CloseProject()), this, SLOT(s_CloseProject())); //参数卡 connect(CallManage::getInstance(), SIGNAL(sig_ShowParameterCard(QString, QString)), this, SLOT(s_ShowParameterCard(QString, QString))); @@ -216,6 +216,13 @@ void MainWindow::initTitleBar() // QMenu* m_projectMenu = this->menuBar()->addMenu(tr("工区管理(&F)")); + //添加子菜单 + m_projectMenu->addAction(QIcon( ::GetImagePath() + "newproject.png"), tr("&新建项目"), this, SLOT(s_New())); + m_projectMenu->addAction(QIcon( ::GetImagePath() + "openprojectIcon.png"), tr("&打开项目"), this, SLOT(s_Open())); + m_projectMenu->addAction(QIcon( ::GetImagePath() + "closeprojectIcon.png"), tr("&关闭项目"), this, SLOT(s_CloseProject())); + m_projectMenu->addSeparator(); + m_projectMenu->addAction(QIcon( ::GetImagePath() + "icon/Exit.png"), tr("&退出"), this, SLOT(slotExitSystem())); + // QMenu* m_dataMenu = this->menuBar()->addMenu(tr("数据管理(&D)")); // @@ -228,6 +235,11 @@ void MainWindow::initTitleBar() QMenu* m_helpMenu = this->menuBar()->addMenu(tr("帮助(&H)")); } +void MainWindow::slotExitSystem() +{ + closeEvent(NULL); + +} //初始化工具栏 void MainWindow::initToolBar() @@ -235,49 +247,23 @@ void MainWindow::initToolBar() QSize toolIconSize(18, 18); ui->mainToolBar->setIconSize(toolIconSize); //设置工具栏图标大小 - QIcon newprojectIcon(::GetImagePath()+"newproject.png"); - QIcon openprojectIcon(::GetImagePath()+"openproject.png"); - QIcon saveprojectIcon(::GetImagePath()+"saveproject.png"); - // - QIcon wellogIcon(::GetImagePath()+"wellog.png"); - QIcon outcurvesIcon(::GetImagePath()+"outcurves.png"); - // - QIcon wellsectionwindowIcon(::GetImagePath()+"wellsectionwindow.png"); - QIcon developmentIcon(::GetImagePath()+"development.png"); - m_newprojectAc = new QAction(newprojectIcon, "新建项目", this); - m_openprojectAc = new QAction(openprojectIcon, "打开项目", this); - m_saveprojectAc = new QAction(saveprojectIcon, "保存项目", this); - m_wellsectionwindowAc = new QAction(wellsectionwindowIcon, "可视解释", this); - m_wellogAc = new QAction(wellogIcon, "数据导入", this); - m_outcurvesAc = new QAction(outcurvesIcon, "数据导出", this); - m_developmentAc = new QAction(developmentIcon, "开发工具", this); + //工具栏 ui->mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //此种方式为文字显示在图标右侧 //add QAction to Widget. - ui->mainToolBar->addAction(m_newprojectAc); - ui->mainToolBar->addAction(m_openprojectAc); - //ui->mainToolBar->addAction(m_saveprojectAc); + ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "newproject.png"), tr("&新建项目"), this, SLOT(s_New())); + ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "openproject.png"), tr("&打开项目"), this, SLOT(s_Open())); ui->mainToolBar->addSeparator();//添加分隔符 // - ui->mainToolBar->addAction(m_wellogAc); - ui->mainToolBar->addAction(m_outcurvesAc); + ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "wellog.png"), tr("&数据导入"), this, SLOT(s_wellog())); + ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "outcurves.png"), tr("&数据导出"), this, SLOT(s_outcurves())); ui->mainToolBar->addSeparator();//添加分隔符 // - ui->mainToolBar->addAction(m_wellsectionwindowAc); - ui->mainToolBar->addAction(m_developmentAc); + ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "wellsectionwindow.png"), tr("&可视解释"), this, SLOT(s_showView())); + ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "development.png"), tr("&开发工具"), this, SLOT(s_development())); - connect(m_newprojectAc, &QAction::triggered, this, &MainWindow::s_New); - connect(m_openprojectAc, &QAction::triggered, this, &MainWindow::s_Open); - connect(m_saveprojectAc, &QAction::triggered, this, &MainWindow::s_SaveProject); - connect(m_wellsectionwindowAc, &QAction::triggered, this, &MainWindow::s_showView); - connect(m_developmentAc, &QAction::triggered, this, &MainWindow::s_development); - -// connect(m_compileAc, &QAction::triggered, this, &MainWindow::s_AddOne); -// connect(m_runAc, &QAction::triggered, this, &MainWindow::s_SaveImage); -// connect(m_debugAc, &QAction::triggered, this, &MainWindow::s_DrawImg); -// connect(m_loadAc, &QAction::triggered, this, &MainWindow::s_DrawLine); QTimer::singleShot(500, this, [=]() { QString fileFull = GetProjectFolder() + "例子.wwl"; QFileInfo fileInfo(fileFull); @@ -584,13 +570,13 @@ void MainWindow::s_showView() void MainWindow::s_development() { //暂时用作切换3d绘制波列图的切换按钮 - if(g_iSupport3D==0) - { - g_iSupport3D=1; - } - else { - g_iSupport3D=0; - } +// if(g_iSupport3D==0) +// { +// g_iSupport3D=1; +// } +// else { +// g_iSupport3D=0; +// } } void MainWindow::s_Risize() @@ -636,16 +622,15 @@ void MainWindow::s_DrawLine() void MainWindow::s_CloseProject() { - if(m_centerWidgets) - { - int iCount = m_centerWidgets->count(); - for(int i=0; iremoveTab(0); - } - } //关闭老项目 - g_prjname=""; + bool bClosed = closeProject(); + if(!bClosed) + { + return; + } + + //关闭 + emit CallManage::getInstance()->sig_CloseProject(); } //参数卡数据查看 diff --git a/logPlus/mainwindow.h b/logPlus/mainwindow.h index be08393..089f6b8 100644 --- a/logPlus/mainwindow.h +++ b/logPlus/mainwindow.h @@ -35,16 +35,6 @@ private: Ui::MainWindow *ui; public: - //工具栏 - QAction* m_newprojectAc = nullptr; //新建 - QAction* m_openprojectAc = nullptr; //打开 - QAction* m_saveprojectAc = nullptr; //保存 - // - QAction* m_wellogAc = nullptr; //数据导入 - QAction* m_outcurvesAc = nullptr; //数据导出 - QAction* m_wellsectionwindowAc = nullptr;//可视解释 - QAction* m_developmentAc = nullptr; //开发工具 - //停靠栏 QStackedWidget *m_stackedWidget_Center = nullptr;//中间工作区stack //QDockWidget *m_projectView = nullptr; //左侧工程区 @@ -80,6 +70,7 @@ public slots: void s_Open(); void s_SaveProject(); void s_CloseProject(); + void slotExitSystem(); void s_Risize(); void s_AddOne(); diff --git a/logPlus/qtprojectwidgets.cpp b/logPlus/qtprojectwidgets.cpp index 20c37d1..f58908a 100644 --- a/logPlus/qtprojectwidgets.cpp +++ b/logPlus/qtprojectwidgets.cpp @@ -55,6 +55,9 @@ QtProjectWidgets::QtProjectWidgets(QWidget *parent) connect(CallManage::getInstance(), SIGNAL(sig_NewProject()), this, SLOT(s_NewProject())); //关联信号槽,打开评估工程 connect(CallManage::getInstance(), SIGNAL(sig_OpenProject(QString)), this, SLOT(s_OpenProject(QString))); + //关联信号槽,关闭项目 + connect(CallManage::getInstance(), SIGNAL(sig_CloseProject()), this, SLOT(s_CloseProject())); + //向左侧树图,追加固井结论表格 connect(CallManage::getInstance(), SIGNAL(sig_AddGujingToTree(QString,QString,QString)), this, SLOT(s_AddGujingToTree(QString,QString,QString))); @@ -1081,6 +1084,11 @@ void QtProjectWidgets::s_OpenProject(QString fileFull) s_loadTreeWidget(fileFull); } +void QtProjectWidgets::s_CloseProject() +{ + ui->treeWidget->clear();//清理数据 +} + //参数表数据查看 void QtProjectWidgets::onShowParameterCard(bool checked) { diff --git a/logPlus/qtprojectwidgets.h b/logPlus/qtprojectwidgets.h index 0a1e586..7fd3f27 100644 --- a/logPlus/qtprojectwidgets.h +++ b/logPlus/qtprojectwidgets.h @@ -45,6 +45,7 @@ public slots: // void s_NewProject(); //新建项目 void s_OpenProject(QString fileFull); //打开项目 + void s_CloseProject(); //关闭项目 //参数表 void onShowParameterCard(bool checked = false);//数据查看 //曲线