添加导入导出菜单,导出图片菜单
This commit is contained in:
parent
58fc749234
commit
802f654c3d
|
|
@ -38,6 +38,13 @@ signals:
|
|||
void sig_OpenProject(QString strName);//打开项目
|
||||
void sig_CloseProject();//关闭项目
|
||||
|
||||
void sig_ImportSingleWellLogData();//数据导入
|
||||
void sig_OutWellLogRound();//输出数据,数据导出
|
||||
|
||||
void sig_SaveAsPicture(); //导出长图
|
||||
void sig_SaveAsPdf(); //导出PDF
|
||||
void sig_SaveAsSvg(); //导出SVG
|
||||
|
||||
void sig_ShowParameterCard(QString strSlfName, QString strName);//参数表查看
|
||||
void sig_ShowCurve(QMap<QString,QList<QString>> mapShowObject);//曲线数据查看
|
||||
void sig_DepthShift(QString strSlfName, QString strName, double DepthOffset);//深度移动
|
||||
|
|
|
|||
|
|
@ -1504,7 +1504,7 @@ void TranToAscii(CMemRdWt *mrw,QString Outfile,float sdep,float edep,float rlev,
|
|||
return;
|
||||
}
|
||||
FILE *fp;
|
||||
fp=fopen(Outfile.toStdString().c_str(),"wt+");
|
||||
fp=fopen(UTF8ToGBK(Outfile)/*Outfile.toStdString().c_str()*/,"wt+");
|
||||
if(fp==NULL)
|
||||
{
|
||||
QMessageBox::information(NULL,"提示","打开输出文件"+Outfile+"失败");
|
||||
|
|
@ -4333,7 +4333,7 @@ void TranSlf2Data(int FormatType,QMap <QString,vector<QString> > OutFileInfVec,O
|
|||
//如果输出文件目录不存在,先创建目录
|
||||
QFileInfo rFileInfo(Outfile);
|
||||
QDir rDir = rFileInfo.absoluteDir();
|
||||
if(!rDir.exists())rDir.mkpath(rFileInfo.absolutePath());
|
||||
if(!rDir.exists())rDir.mkpath(UTF8ToGBK(rFileInfo.absolutePath()));
|
||||
|
||||
if(FormatType<=3)
|
||||
TranToAscii(&mrw,Outfile,Outsdep,Outedep,Outrlev,NumObject,&OutInf[0],FormatType,IsCheck[5]);
|
||||
|
|
|
|||
|
|
@ -225,11 +225,15 @@ void MainWindow::initTitleBar()
|
|||
|
||||
//
|
||||
QMenu* m_dataMenu = this->menuBar()->addMenu(tr("数据管理(&D)"));
|
||||
//
|
||||
QMenu* m_resultMenu = this->menuBar()->addMenu(tr("成果输出(&R)"));
|
||||
m_dataMenu->addAction(QIcon( ::GetImagePath() + "wellog.png"), tr("&数据导入"), this, SLOT(s_ImportSingleWellLogData()));
|
||||
//
|
||||
QMenu* m_analyzeToolMenu = this->menuBar()->addMenu(tr("分析工具(&W)"));
|
||||
//
|
||||
QMenu* m_resultMenu = this->menuBar()->addMenu(tr("成果输出(&R)"));
|
||||
m_resultMenu->addAction(QIcon( ::GetImagePath() + "icon/SaveAsPicture.png"), tr("&导出长图"), this, SLOT(s_SaveAsPicture()));
|
||||
m_resultMenu->addAction(QIcon( ::GetImagePath() + "icon/ExportPDF.png"), tr("&导出PDF"), this, SLOT(s_SaveAsPdf()));
|
||||
m_resultMenu->addAction(QIcon( ::GetImagePath() + "icon/ExportSVG.png"), tr("&导出SVG"), this, SLOT(s_SaveAsSvg()));
|
||||
//
|
||||
QMenu* m_SystemToolMenu = this->menuBar()->addMenu(tr("系统工具(&T)"));
|
||||
//
|
||||
QMenu* m_helpMenu = this->menuBar()->addMenu(tr("帮助(&H)"));
|
||||
|
|
@ -257,8 +261,8 @@ void MainWindow::initToolBar()
|
|||
ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "openproject.png"), tr("&打开项目"), this, SLOT(s_Open()));
|
||||
ui->mainToolBar->addSeparator();//添加分隔符
|
||||
//
|
||||
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->addAction(QIcon( ::GetImagePath() + "wellog.png"), tr("&数据导入"), this, SLOT(s_ImportSingleWellLogData()));
|
||||
ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "outcurves.png"), tr("&数据导出"), this, SLOT(s_OutWellLogRound()));
|
||||
ui->mainToolBar->addSeparator();//添加分隔符
|
||||
//
|
||||
ui->mainToolBar->addAction(QIcon( ::GetImagePath() + "wellsectionwindow.png"), tr("&可视解释"), this, SLOT(s_showView()));
|
||||
|
|
@ -432,6 +436,31 @@ void MainWindow::s_Open()
|
|||
}
|
||||
}
|
||||
|
||||
void MainWindow::s_ImportSingleWellLogData()
|
||||
{
|
||||
emit CallManage::getInstance()->sig_ImportSingleWellLogData();
|
||||
}
|
||||
|
||||
void MainWindow::s_OutWellLogRound()
|
||||
{
|
||||
emit CallManage::getInstance()->sig_OutWellLogRound();
|
||||
}
|
||||
|
||||
void MainWindow::s_SaveAsPicture()
|
||||
{
|
||||
emit CallManage::getInstance()->sig_SaveAsPicture();
|
||||
}
|
||||
|
||||
void MainWindow::s_SaveAsPdf()
|
||||
{
|
||||
emit CallManage::getInstance()->sig_SaveAsPdf();
|
||||
}
|
||||
|
||||
void MainWindow::s_SaveAsSvg()
|
||||
{
|
||||
emit CallManage::getInstance()->sig_SaveAsSvg();
|
||||
}
|
||||
|
||||
void MainWindow::s_SaveProject()
|
||||
{
|
||||
// //加载插件显示
|
||||
|
|
|
|||
|
|
@ -68,6 +68,11 @@ public:
|
|||
public slots:
|
||||
void s_New();
|
||||
void s_Open();
|
||||
void s_ImportSingleWellLogData();
|
||||
void s_OutWellLogRound();
|
||||
void s_SaveAsPicture();
|
||||
void s_SaveAsPdf();
|
||||
void s_SaveAsSvg();
|
||||
void s_SaveProject();
|
||||
void s_CloseProject();
|
||||
void slotExitSystem();
|
||||
|
|
|
|||
|
|
@ -306,6 +306,10 @@ void MainWindowCurve::initMainToolBar()
|
|||
connect(m_SaveAsPdfAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsPdf);
|
||||
connect(m_SaveAsSvgAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsSvg);
|
||||
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_SaveAsPicture()), this, SLOT(s_SaveAsPicture()));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_SaveAsPdf()), this, SLOT(s_SaveAsPdf()));
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_SaveAsSvg()), this, SLOT(s_SaveAsSvg()));
|
||||
|
||||
// connect(m_grepAc, &QAction::triggered, this, &MainWindow::s_Risize);
|
||||
// connect(m_compileAc, &QAction::triggered, this, &MainWindow::s_AddOne);
|
||||
// connect(m_debugAc, &QAction::triggered, this, &MainWindow::s_DrawImg);
|
||||
|
|
|
|||
|
|
@ -58,6 +58,12 @@ QtProjectWidgets::QtProjectWidgets(QWidget *parent)
|
|||
//关联信号槽,关闭项目
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_CloseProject()), this, SLOT(s_CloseProject()));
|
||||
|
||||
//关联信号槽,数据导入
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_ImportSingleWellLogData()), this, SLOT(onImportSingleWellLogDataToolBar()));
|
||||
|
||||
//关联信号槽,输出数据,数据导出
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_OutWellLogRound()), this, SLOT(onOutWellLogRound()));
|
||||
|
||||
//向左侧树图,追加固井结论表格
|
||||
connect(CallManage::getInstance(), SIGNAL(sig_AddGujingToTree(QString,QString,QString)), this, SLOT(s_AddGujingToTree(QString,QString,QString)));
|
||||
|
||||
|
|
@ -771,10 +777,10 @@ void QtProjectWidgets::initWellsTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
|||
connect(action_New, SIGNAL(triggered(bool)), this, SLOT(onCopyObject()));
|
||||
menu->addAction(action_New);
|
||||
|
||||
// action_New = new QAction("输出数据", treeWidget);
|
||||
// action_New->setIcon(QIcon(GetImagePath() + "icon/outcurves.png")); // 设置图标
|
||||
// connect(action_New, SIGNAL(triggered(bool)), this, SLOT(onOutWellLogRound()));
|
||||
// menu->addAction(action_New);
|
||||
action_New = new QAction("输出数据", treeWidget);
|
||||
action_New->setIcon(QIcon(GetImagePath() + "icon/outcurves.png")); // 设置图标
|
||||
connect(action_New, SIGNAL(triggered(bool)), this, SLOT(onOutWellLogRound()));
|
||||
menu->addAction(action_New);
|
||||
}
|
||||
//初始化参数卡-右键菜单
|
||||
void QtProjectWidgets::initParameterCardTreeMenu(QMenu *menu, QTreeWidget *treeWidget)
|
||||
|
|
@ -1857,7 +1863,7 @@ void QtProjectWidgets::onImportFolder()
|
|||
return;
|
||||
}
|
||||
|
||||
void QtProjectWidgets::onImportSingleWellLogData()
|
||||
void QtProjectWidgets::ImportSingleWellLogData(bool bToolBar)
|
||||
{
|
||||
MainWindow* pMainWindow = nullptr;
|
||||
|
||||
|
|
@ -1901,28 +1907,30 @@ void QtProjectWidgets::onImportSingleWellLogData()
|
|||
QMessageBox::information(NULL,"无法识别的文件",listFiles[0]);
|
||||
return ;
|
||||
}
|
||||
QTreeWidgetItem *wellItem = *ui->treeWidget->selectedItems().begin();
|
||||
|
||||
QString wellname = wellItem->text(0);
|
||||
QFileInfo temDir(file_name);
|
||||
QString tempWellName=temDir.completeBaseName();
|
||||
tempWellName.replace(" ","");//whp add 2020.3.3 删除井名中的空格
|
||||
//m_WellLogRoundInfo->SetName(tempWellName.toStdString());
|
||||
QString wellname = tempWellName;
|
||||
QString wellroundname = wellname;
|
||||
QString strTreeTag = wellItem->data(0, Qt::UserRole).toString();
|
||||
if (strTreeTag == "wells") //井组
|
||||
{
|
||||
QFileInfo temDir(file_name);
|
||||
QString tempWellName=temDir.completeBaseName();
|
||||
tempWellName.replace(" ","");//whp add 2020.3.3 删除井名中的空格
|
||||
//m_WellLogRoundInfo->SetName(tempWellName.toStdString());
|
||||
wellname = tempWellName;
|
||||
wellroundname = wellname;
|
||||
}
|
||||
else if (strTreeTag == "wellname") //井名
|
||||
{
|
||||
|
||||
}
|
||||
else if (strTreeTag == "wellItem") //井次
|
||||
if (!bToolBar)
|
||||
{
|
||||
wellname = wellItem->parent()->text(0);
|
||||
QTreeWidgetItem *wellItem = *ui->treeWidget->selectedItems().begin();
|
||||
|
||||
QString strTreeTag = wellItem->data(0, Qt::UserRole).toString();
|
||||
if (strTreeTag == "wellname") //井名
|
||||
{
|
||||
wellname = wellItem->text(0);
|
||||
}
|
||||
else if (strTreeTag == "wellItem") //井次
|
||||
{
|
||||
wellname = wellItem->parent()->text(0);
|
||||
wellroundname = wellItem->text(0);
|
||||
}
|
||||
}
|
||||
|
||||
CDataImport::m_prjname = g_prjname;
|
||||
ImportDataDialog *pDialog = new ImportDataDialog(NULL,wellname,wellroundname);
|
||||
QTreeWidgetItem rootItem = *ui->treeWidget->topLevelItem(0);
|
||||
|
|
@ -1934,11 +1942,20 @@ void QtProjectWidgets::onImportSingleWellLogData()
|
|||
QString strProjectFile = strProjectFolder + g_prjname;
|
||||
strProjectFile += ".wwl";
|
||||
s_OpenProject(strProjectFile);
|
||||
return ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void QtProjectWidgets::onImportSingleWellLogData()
|
||||
{
|
||||
ImportSingleWellLogData(false);
|
||||
}
|
||||
|
||||
void QtProjectWidgets::onImportSingleWellLogDataToolBar()
|
||||
{
|
||||
ImportSingleWellLogData(true);
|
||||
}
|
||||
|
||||
void QtProjectWidgets::onImportSlfTable()
|
||||
{
|
||||
// CInDefTableDlg InDefTableDlg(0);
|
||||
|
|
@ -1961,16 +1978,81 @@ void QtProjectWidgets::onImportSlfTable()
|
|||
|
||||
void QtProjectWidgets::onOutWellLogRound()
|
||||
{
|
||||
QTreeWidgetItem *wellItem = *ui->treeWidget->selectedItems().begin();
|
||||
|
||||
QString wellname = wellItem->text(0);
|
||||
QString wellroundname = wellname;
|
||||
|
||||
QString folderPath = GetLogdataPath();
|
||||
folderPath = folderPath + g_prjname;
|
||||
folderPath = folderPath + "/" + "#" + wellname + "/" + wellroundname + ".slf";
|
||||
QStringList namelist;//=GetSelWellRound();
|
||||
namelist<<folderPath;
|
||||
QTreeWidgetItem *wellItem = *ui->treeWidget->selectedItems().begin();
|
||||
if (wellItem)
|
||||
{
|
||||
QString strTreeTag = wellItem->data(0, Qt::UserRole).toString();
|
||||
if (strTreeTag == "wellname") //井名
|
||||
{
|
||||
int childCount = wellItem->childCount(); // 获取子节点数量
|
||||
for (int i = 0; i < childCount; ++i)
|
||||
{
|
||||
QTreeWidgetItem *wellround = wellItem->child(i);
|
||||
QString strSlfFile = wellItem->child(i)->data(0, Qt::UserRole + 1).toString(); // 存储额外数据,项目名
|
||||
namelist<<strSlfFile;
|
||||
}
|
||||
}
|
||||
else if (strTreeTag == "wellItem") //井次
|
||||
{
|
||||
QString strSlfFile = wellItem->data(0, Qt::UserRole + 1).toString(); // 存储额外数据,项目名
|
||||
namelist<<strSlfFile;
|
||||
}
|
||||
else
|
||||
{
|
||||
QTreeWidgetItem *parenItem = wellItem->parent();
|
||||
while(parenItem)
|
||||
{
|
||||
if (parenItem == ui->treeWidget->topLevelItem(0))
|
||||
break;
|
||||
strTreeTag = wellItem->data(0, Qt::UserRole).toString();
|
||||
if (strTreeTag == "wellItem") //井次
|
||||
{
|
||||
QString strSlfFile = wellItem->data(0, Qt::UserRole + 1).toString(); // 存储额外数据,项目名
|
||||
namelist<<strSlfFile;
|
||||
break;
|
||||
}
|
||||
parenItem = wellItem->parent();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (namelist.size()==0)
|
||||
{
|
||||
int topCount = ui->treeWidget->topLevelItemCount(); // 获取顶级节点数量
|
||||
if(topCount<1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
QTreeWidgetItem *item = ui->treeWidget->topLevelItem(0);
|
||||
int childCount = item->childCount(); // 获取子节点数量
|
||||
for (int i = 0; i < childCount; ++i)
|
||||
{
|
||||
//井组,数据分析...
|
||||
QTreeWidgetItem *wellGroupItem = item->child(i);
|
||||
QString wellGroupname = wellGroupItem->text(0);
|
||||
if (wellGroupname == "井组")
|
||||
{
|
||||
int wellCount = wellGroupItem->childCount(); // 获取井节点数量
|
||||
for (int j = 0; j < wellCount; ++j)
|
||||
{
|
||||
QTreeWidgetItem *wellchild = wellGroupItem->child(j);
|
||||
int wellchildCount = wellchild->childCount(); // 获取井节点数量
|
||||
for (int k = 0; k < wellchildCount; ++k)
|
||||
{
|
||||
QString strTreeTag = wellchild->child(k)->data(0, Qt::UserRole).toString();
|
||||
if (strTreeTag == "wellItem") //井次
|
||||
{
|
||||
QString strSlfFile = wellchild->child(k)->data(0, Qt::UserRole + 1).toString(); // 存储额外数据,项目名
|
||||
namelist<<strSlfFile;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (namelist.size()==0)
|
||||
return;
|
||||
QStringList curvelist;//=GetSelCurve();
|
||||
CDataOutPut* moutPut=new CDataOutPut();
|
||||
if(!moutPut)return;
|
||||
|
|
|
|||
|
|
@ -61,7 +61,8 @@ public slots:
|
|||
void onCutSlf(); //剪切井次
|
||||
void onEditWelllogRound();
|
||||
void onImportFolder(); //按目录导入测井数据
|
||||
void onImportSingleWellLogData();
|
||||
void onImportSingleWellLogData(); //数据导入
|
||||
void onImportSingleWellLogDataToolBar(); //数据导入(工具栏)
|
||||
void onImportSlfTable();
|
||||
void onOutWellLogRound();
|
||||
void onCopyObject(); //数据对象拷贝
|
||||
|
|
@ -154,6 +155,8 @@ public:
|
|||
void initParCardFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||
//初始化根节点(波列目录)-右键菜单
|
||||
void initWaveFolderTreeMenu(QMenu *menu, QTreeWidget *treeWidget);
|
||||
//数据导入
|
||||
void ImportSingleWellLogData(bool bToolBar);
|
||||
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ int CSLFAsciiConvertor::ScanLogFile(char *FileName,char *Message,char **CurveNa
|
|||
char name[curve_name_len+1],temps[15];
|
||||
int i,j,num;
|
||||
// CString cs,csOutName;
|
||||
QFile InFile(FileName);
|
||||
QFile InFile(GBKToUTF8(FileName));
|
||||
if( !InFile.open(QIODevice::ReadOnly ) )return 0;
|
||||
QTextStream textstream( &InFile );
|
||||
QString str = textstream.readLine();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user