This commit is contained in:
crqiqi77 2026-03-31 15:50:34 +08:00
commit 00ba45c4d9
8 changed files with 1060 additions and 431 deletions

View File

@ -929,11 +929,25 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
else if("岩性" == m_propertyData[pProperty]) else if("岩性" == m_propertyData[pProperty])
{ {
QString newResult = variant.value<QString>(); QString newResult = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetLithSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
newResult.replace("\\","/");
//
if(newResult.contains(strDefaultPath))
{
m_tdLayer->setLith(newResult); m_tdLayer->setLith(newResult);
// //
QCPRange currentRange = m_tdLayer->getRange(); QCPRange currentRange = m_tdLayer->getRange();
m_tdLayer->setRange(currentRange.lower, currentRange.upper); m_tdLayer->setRange(currentRange.lower, currentRange.upper);
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
else if (m_strCurrentProperty == JieshiItem_Property) else if (m_strCurrentProperty == JieshiItem_Property)
{ {
@ -1009,6 +1023,15 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
if(m_tdGujing) if(m_tdGujing)
{ {
QString newResult = variant.value<QString>(); QString newResult = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetGujingSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
newResult.replace("\\","/");
//
if(newResult.contains(strDefaultPath))
{
m_tdGujing->setResult(newResult); m_tdGujing->setResult(newResult);
// //
QCPRange currentRange = m_tdGujing->getRange(); QCPRange currentRange = m_tdGujing->getRange();
@ -1016,6 +1039,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//保存 //保存
m_tdGujing->mPlot->SaveToSLF_Gujing(); m_tdGujing->mPlot->SaveToSLF_Gujing();
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
} }
else if (m_strCurrentProperty == ImageItem_Property) // 岩心图片 else if (m_strCurrentProperty == ImageItem_Property) // 岩心图片
@ -1064,6 +1092,15 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
if(m_tdSwallCore) if(m_tdSwallCore)
{ {
QString newResult = variant.value<QString>(); QString newResult = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetSymbolDir()+"取心岩性符号";
//符号统一
strDefaultPath.replace("\\","/");
newResult.replace("\\","/");
//
if(newResult.contains(strDefaultPath))
{
m_tdSwallCore->setLith(newResult); m_tdSwallCore->setLith(newResult);
// //
QCPRange currentRange = m_tdSwallCore->getRange(); QCPRange currentRange = m_tdSwallCore->getRange();
@ -1071,6 +1108,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//保存 //保存
m_tdSwallCore->mPlot->SaveToSLF_SwallCore(); m_tdSwallCore->mPlot->SaveToSLF_SwallCore();
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
else if("油气" == m_propertyData[pProperty]) else if("油气" == m_propertyData[pProperty])
{ {
@ -1078,6 +1120,15 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
if(m_tdSwallCore) if(m_tdSwallCore)
{ {
QString newResult = variant.value<QString>(); QString newResult = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetGasSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
newResult.replace("\\","/");
//
if(newResult.contains(strDefaultPath))
{
m_tdSwallCore->setOil(newResult); m_tdSwallCore->setOil(newResult);
// //
QCPRange currentRange = m_tdSwallCore->getRange(); QCPRange currentRange = m_tdSwallCore->getRange();
@ -1085,6 +1136,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//保存 //保存
m_tdSwallCore->mPlot->SaveToSLF_SwallCore(); m_tdSwallCore->mPlot->SaveToSLF_SwallCore();
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
else if("颜色" == m_propertyData[pProperty]) else if("颜色" == m_propertyData[pProperty])
{ {
@ -1093,6 +1149,14 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
{ {
QString ColorImage = variant.value<QString>(); QString ColorImage = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetColorSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
ColorImage.replace("\\","/");
//
if(ColorImage.contains(strDefaultPath))
{
QString name = ""; QString name = "";
int CoreColor = 0; int CoreColor = 0;
ColorImage.replace("\\","/"); ColorImage.replace("\\","/");
@ -1112,6 +1176,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//保存 //保存
m_tdSwallCore->mPlot->SaveToSLF_SwallCore(); m_tdSwallCore->mPlot->SaveToSLF_SwallCore();
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
else if("起始位置" == m_propertyData[pProperty]) else if("起始位置" == m_propertyData[pProperty])
{ {
@ -1162,6 +1231,15 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
if(m_tdGeoLith) if(m_tdGeoLith)
{ {
QString newResult = variant.value<QString>(); QString newResult = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetMudSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
newResult.replace("\\","/");
//
if(newResult.contains(strDefaultPath))
{
m_tdGeoLith->setLith(newResult, m_tdGeoLith->m_Color); m_tdGeoLith->setLith(newResult, m_tdGeoLith->m_Color);
// //
QCPRange currentRange = m_tdGeoLith->getRange(); QCPRange currentRange = m_tdGeoLith->getRange();
@ -1169,6 +1247,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//保存 //保存
m_tdGeoLith->mPlot->SaveToSLF_GeoLith(); m_tdGeoLith->mPlot->SaveToSLF_GeoLith();
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
else if("油气" == m_propertyData[pProperty]) else if("油气" == m_propertyData[pProperty])
{ {
@ -1176,6 +1259,15 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
if(m_tdGeoLith) if(m_tdGeoLith)
{ {
QString newResult = variant.value<QString>(); QString newResult = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetGasSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
newResult.replace("\\","/");
//
if(newResult.contains(strDefaultPath))
{
m_tdGeoLith->setOil(newResult); m_tdGeoLith->setOil(newResult);
// //
QCPRange currentRange = m_tdGeoLith->getRange(); QCPRange currentRange = m_tdGeoLith->getRange();
@ -1183,6 +1275,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//保存 //保存
m_tdGeoLith->mPlot->SaveToSLF_GeoLith(); m_tdGeoLith->mPlot->SaveToSLF_GeoLith();
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
else if("颜色" == m_propertyData[pProperty]) else if("颜色" == m_propertyData[pProperty])
{ {
@ -1190,6 +1287,15 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
if(m_tdGeoLith) if(m_tdGeoLith)
{ {
QString newResult = variant.value<QString>(); QString newResult = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetColorSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
newResult.replace("\\","/");
//
if(newResult.contains(strDefaultPath))
{
m_tdGeoLith->setLith(m_tdGeoLith->m_Lith, newResult); m_tdGeoLith->setLith(m_tdGeoLith->m_Lith, newResult);
// //
QCPRange currentRange = m_tdGeoLith->getRange(); QCPRange currentRange = m_tdGeoLith->getRange();
@ -1197,6 +1303,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//保存 //保存
m_tdGeoLith->mPlot->SaveToSLF_GeoLith(); m_tdGeoLith->mPlot->SaveToSLF_GeoLith();
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
else if("含油占比(1~8)" == m_propertyData[pProperty]) else if("含油占比(1~8)" == m_propertyData[pProperty])
{ {
@ -1663,6 +1774,15 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//-------------------------- //--------------------------
QString newResult = variant.value<QString>(); QString newResult = variant.value<QString>();
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = GetSymbolDir()+"管柱组件";
//符号统一
strDefaultPath.replace("\\","/");
newResult.replace("\\","/");
//
if(newResult.contains(strDefaultPath))
{
m_tdGuan->setResult(newResult); m_tdGuan->setResult(newResult);
// //
QCPRange currentRange = m_tdGuan->getRange(); QCPRange currentRange = m_tdGuan->getRange();
@ -1678,6 +1798,11 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
m_tdGuan->mPlot->LoadFromSLF_ReDrawTubing(m_tdGuan->mPlot->m_strSlfName, m_tdGuan->mPlot->m_strLineName); m_tdGuan->mPlot->LoadFromSLF_ReDrawTubing(m_tdGuan->mPlot->m_strSlfName, m_tdGuan->mPlot->m_strLineName);
} }
} }
else {
QMessageBox::information(nullptr,"提示","所选目录不支持");
return;
}
}
} }
} }
else if (m_strCurrentProperty == Depth_Property) // 深度 else if (m_strCurrentProperty == Depth_Property) // 深度
@ -3119,9 +3244,51 @@ void PropertyWidget::initSwallCoreItemProperty(TransparentDraggableSwallCore* td
// //
_CreateVariantPropertyItem("当前项", "深度", -Depth, QVariant::Double); _CreateVariantPropertyItem("当前项", "深度", -Depth, QVariant::Double);
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetSymbolDir()+"取心岩性符号";
//符号统一
strDefaultPath.replace("\\","/");
LithologyImage.replace("\\","/");
//
if(LithologyImage.contains(strDefaultPath))
{
_CreateVariantPropertyItem("当前项", "岩性", LithologyImage, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "岩性", LithologyImage, VariantManager::filePathTypeId());
}
else{
_CreateVariantPropertyItem("当前项", "岩性", strDefaultPath, VariantManager::filePathTypeId());
}
//只能选择自己的符号,不能选择其他。
strDefaultPath = ::GetGasSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
OilGasImage.replace("\\","/");
//
if(OilGasImage.contains(strDefaultPath))
{
_CreateVariantPropertyItem("当前项", "油气", OilGasImage, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "油气", OilGasImage, VariantManager::filePathTypeId());
}
else
{
_CreateVariantPropertyItem("当前项", "油气", strDefaultPath, VariantManager::filePathTypeId());
}
//只能选择自己的符号,不能选择其他。
strDefaultPath = ::GetColorSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
ColorImage.replace("\\","/");
//
if(ColorImage.contains(strDefaultPath))
{
_CreateVariantPropertyItem("当前项", "颜色", ColorImage, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "颜色", ColorImage, VariantManager::filePathTypeId());
}
else
{
_CreateVariantPropertyItem("当前项", "颜色", strDefaultPath, VariantManager::filePathTypeId());
}
_CreateVariantPropertyItem("当前项", "起始位置", Sideleft, QVariant::Double); _CreateVariantPropertyItem("当前项", "起始位置", Sideleft, QVariant::Double);
//_CreateVariantPropertyItem("当前项", "宽度", -Depth, QVariant::Double); //_CreateVariantPropertyItem("当前项", "宽度", -Depth, QVariant::Double);
} }
@ -3288,8 +3455,22 @@ void PropertyWidget::initGujingItemProperty(TransparentDraggableGujing* tdGujing
// //
_CreateVariantPropertyItem("当前项", "顶深(m)", -upper, QVariant::Double); _CreateVariantPropertyItem("当前项", "顶深(m)", -upper, QVariant::Double);
_CreateVariantPropertyItem("当前项", "底深(m)", -lower, QVariant::Double); _CreateVariantPropertyItem("当前项", "底深(m)", -lower, QVariant::Double);
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetGujingSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
strResult.replace("\\","/");
//
if(strResult.contains(strDefaultPath))
{
_CreateVariantPropertyItem("当前项", "固井结论", strResult, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "固井结论", strResult, VariantManager::filePathTypeId());
} }
else
{
_CreateVariantPropertyItem("当前项", "固井结论", strDefaultPath, VariantManager::filePathTypeId());
}
}
void PropertyWidget::initImageProperty(FormInfo *formInfo) void PropertyWidget::initImageProperty(FormInfo *formInfo)
{ {
@ -3606,7 +3787,7 @@ void PropertyWidget::initTvdProperty(FormInfo *formInfo)
m_strCurrentProperty = Tvd_Property; m_strCurrentProperty = Tvd_Property;
} }
void PropertyWidget::initGeoLithItemProperty(TransparentDraggableGeoLith* tdGeoLith, double lower, double upper, const QString myLith, const QString myOil, const QString myColor) void PropertyWidget::initGeoLithItemProperty(TransparentDraggableGeoLith* tdGeoLith, double lower, double upper, QString myLith, QString myOil, QString myColor)
{ {
//初始化,清空 //初始化,清空
InitCurrentViewInfo(); InitCurrentViewInfo();
@ -3648,10 +3829,52 @@ void PropertyWidget::initGeoLithItemProperty(TransparentDraggableGeoLith* tdGeoL
// //
_CreateVariantPropertyItem("当前项", "顶深(m)", -upper, QVariant::Double); _CreateVariantPropertyItem("当前项", "顶深(m)", -upper, QVariant::Double);
_CreateVariantPropertyItem("当前项", "底深(m)", -lower, QVariant::Double); _CreateVariantPropertyItem("当前项", "底深(m)", -lower, QVariant::Double);
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = ::GetMudSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
myLith.replace("\\","/");
//
if(myLith.contains(strDefaultPath))
{
_CreateVariantPropertyItem("当前项", "岩性", myLith, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "岩性", myLith, VariantManager::filePathTypeId());
}
else{
_CreateVariantPropertyItem("当前项", "岩性", strDefaultPath, VariantManager::filePathTypeId());
}
//只能选择自己的符号,不能选择其他。
strDefaultPath = ::GetGasSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
myOil.replace("\\","/");
//
if(myOil.contains(strDefaultPath))
{
_CreateVariantPropertyItem("当前项", "油气", myOil, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "油气", myOil, VariantManager::filePathTypeId());
}
else
{
_CreateVariantPropertyItem("当前项", "油气", strDefaultPath, VariantManager::filePathTypeId());
}
//只能选择自己的符号,不能选择其他。
strDefaultPath = ::GetColorSymbolDir();
//符号统一
strDefaultPath.replace("\\","/");
myColor.replace("\\","/");
//
if(myColor.contains(strDefaultPath))
{
_CreateVariantPropertyItem("当前项", "颜色", myColor, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "颜色", myColor, VariantManager::filePathTypeId());
} }
else
{
_CreateVariantPropertyItem("当前项", "颜色", strDefaultPath, VariantManager::filePathTypeId());
}
}
//气测/FMT/射孔/文本 //气测/FMT/射孔/文本
void PropertyWidget::initJiegutextProperty(FormInfo *formInfo) void PropertyWidget::initJiegutextProperty(FormInfo *formInfo)
@ -3809,8 +4032,21 @@ void PropertyWidget::initTubingItemProperty(TransparentDraggableGuan* tdGuan, do
// //
_CreateVariantPropertyItem("当前项", "深度(m)", -(upper+lower)/2.0, QVariant::Double); _CreateVariantPropertyItem("当前项", "深度(m)", -(upper+lower)/2.0, QVariant::Double);
//只能选择自己的符号,不能选择其他。
QString strDefaultPath = GetSymbolDir()+"管柱组件";
//符号统一
strDefaultPath.replace("\\","/");
strResult.replace("\\","/");
//
if(strResult.contains(strDefaultPath))
{
_CreateVariantPropertyItem("当前项", "组件类型", strResult, VariantManager::filePathTypeId()); _CreateVariantPropertyItem("当前项", "组件类型", strResult, VariantManager::filePathTypeId());
} }
else {
_CreateVariantPropertyItem("当前项", "组件类型", strDefaultPath, VariantManager::filePathTypeId());
}
}
void PropertyWidget::initPlObjectProperty(FormInfo *formInfo) void PropertyWidget::initPlObjectProperty(FormInfo *formInfo)
{ {

View File

@ -189,6 +189,16 @@ void CustomTabWidget::dropEvent(QDropEvent *event)
//关闭 //关闭
void CustomTabWidget::slot_tabClose(int index) void CustomTabWidget::slot_tabClose(int index)
{ {
QWidget *selectWidget = tabWidget(index);
QString objectName = selectWidget->objectName();
if(objectName == "MainWindowSplitter")
{
int flag = QMessageBox::warning(NULL,"提示",QString("图文件尚未保存,您确信关闭当前窗口?"),QMessageBox::Yes,QMessageBox::No);
if(flag!=QMessageBox::Yes) return;
}
//移除
removeTab(index); removeTab(index);
//属性清空 //属性清空

View File

@ -2996,6 +2996,15 @@ void FormDraw::s_addWave(QString strUuid, QString strSlfName, QString strWellNam
connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*))); connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
QTimer::singleShot(100, this, [=]() { QTimer::singleShot(100, this, [=]() {
if (m_iY2 == 0.0)
{
// ####测试
QTimer::singleShot(200, this, [=]() {
m_iY2 = -2869;
m_iY1 = -2910;
emit CallManage::getInstance()->sig_changeDepth(m_strUuid, m_strSlfName, m_strWellName, m_iY1, m_iY2);
});
}
emit CallManage::getInstance()->sig_ReplotFinished(m_strUuid); emit CallManage::getInstance()->sig_ReplotFinished(m_strUuid);
}); });
// //
@ -8145,6 +8154,63 @@ void FormDraw::dropEvent(QDropEvent* event)
//新建表格曲线 //新建表格曲线
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
} }
else if(strType=="depthObject")
{
qDebug() << "新建深度";
//新建曲线
emit CallManage::getInstance()->sig_AddDepth(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="ganzhuangtuObject")
{
//新建杆状图
emit CallManage::getInstance()->sig_AddGanZhuangTu(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="JyktObject")
{
//新建井眼垮塌矢量图
emit CallManage::getInstance()->sig_AddJykt(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="DenvObject")
{
//新建井斜方位图
emit CallManage::getInstance()->sig_AddDenv(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="DrawImageObject")
{
//图像 成图
emit CallManage::getInstance()->sig_AddDrawImage(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="SantuyibiaoObject")
{
//斜井三图一表
emit CallManage::getInstance()->sig_AddSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="CrackObject")
{
//裂缝
emit CallManage::getInstance()->sig_AddCrack(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="JiegutextObject")
{
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{
//沉积相
emit CallManage::getInstance()->sig_AddLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="MCalsObject")
{
//多臂井径
emit CallManage::getInstance()->sig_AddMCals(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="TubingstringObject")
{
//套管组件
emit CallManage::getInstance()->sig_AddTubingstring(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
// 接受拖拽事件 // 接受拖拽事件
event->setDropAction(Qt::MoveAction); event->setDropAction(Qt::MoveAction);
event->accept(); event->accept();

View File

@ -137,6 +137,62 @@ void FormTrackTop::dropEvent(QDropEvent* event)
//新建表格曲线 //新建表格曲线
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
} }
else if(strType=="depthObject")
{
qDebug() << "新建深度";
//新建曲线
emit CallManage::getInstance()->sig_AddDepth(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="ganzhuangtuObject")
{
//新建杆状图
emit CallManage::getInstance()->sig_AddGanZhuangTu(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="JyktObject")
{
//新建井眼垮塌矢量图
emit CallManage::getInstance()->sig_AddJykt(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="DenvObject")
{
//新建井斜方位图
emit CallManage::getInstance()->sig_AddDenv(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="DrawImageObject")
{
//图像 成图
emit CallManage::getInstance()->sig_AddDrawImage(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="SantuyibiaoObject")
{
//斜井三图一表
emit CallManage::getInstance()->sig_AddSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="CrackObject")
{
//裂缝
emit CallManage::getInstance()->sig_AddCrack(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="JiegutextObject")
{
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{
//沉积相
emit CallManage::getInstance()->sig_AddLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="MCalsObject")
{
//多臂井径
emit CallManage::getInstance()->sig_AddMCals(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="TubingstringObject")
{
//套管组件
emit CallManage::getInstance()->sig_AddTubingstring(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
// 接受拖拽事件 // 接受拖拽事件
event->setDropAction(Qt::MoveAction); event->setDropAction(Qt::MoveAction);
event->accept(); event->accept();

View File

@ -28,8 +28,12 @@ FormWell::FormWell(QWidget *parent, QString strWellName) :
ui->tableWidget->setRowCount(rowcount); //动态设置行数 ui->tableWidget->setRowCount(rowcount); //动态设置行数
//ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度 //ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
ui->tableWidget->horizontalHeader()->setFixedHeight(3); ui->tableWidget->horizontalHeader()->setFixedHeight(3);
//左右边框隐藏
ui->tableWidget->setStyleSheet( "QTableView::item:selected {color:#57595B; background:#E4E4E4;}"); ui->tableWidget->setStyleSheet("QTableView::item {border-left: 0px solid black;} \
QTableView::item:selected {border-left: 0px solid black; color:#57595B; background:#E4E4E4;}\
QTableView::item {border-right: 0px solid black;} \
QTableView::item:selected {border-right: 0px solid black;}");
//"QTableView::item:selected {color:#57595B; background:#E4E4E4;}"
// 假设你的类中有一个槽函数onTableRowsInserted(QModelIndex parent, int first, int last) // 假设你的类中有一个槽函数onTableRowsInserted(QModelIndex parent, int first, int last)
//connect(ui->tableWidget->model(), &QAbstractItemModel::columnsInserted, //connect(ui->tableWidget->model(), &QAbstractItemModel::columnsInserted,

View File

@ -125,7 +125,71 @@ void PreQTableWidget::dropEvent(QDropEvent *event)
//新建表格曲线 //新建表格曲线
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
} }
else if(strType=="depthObject")
{
qDebug() << "新建深度";
//新建曲线
emit CallManage::getInstance()->sig_AddDepth(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="ganzhuangtuObject")
{
//新建杆状图
emit CallManage::getInstance()->sig_AddGanZhuangTu(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="JyktObject")
{
//新建井眼垮塌矢量图
emit CallManage::getInstance()->sig_AddJykt(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="DenvObject")
{
//新建井斜方位图
emit CallManage::getInstance()->sig_AddDenv(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="DrawImageObject")
{
//图像 成图
emit CallManage::getInstance()->sig_AddDrawImage(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="SantuyibiaoObject")
{
//斜井三图一表
emit CallManage::getInstance()->sig_AddSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="CrackObject")
{
//裂缝
emit CallManage::getInstance()->sig_AddCrack(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="JiegutextObject")
{
//删除表格
// emit CallManage::getInstance()->sig_delTableLine(m_strUuid, strWellName, strTrackName, strLineName);
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{
//删除表格
// emit CallManage::getInstance()->sig_delTableLine(m_strUuid, strWellName, strTrackName, strLineName);
//沉积相
emit CallManage::getInstance()->sig_AddLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="MCalsObject")
{
//多臂井径
emit CallManage::getInstance()->sig_AddMCals(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="TubingstringObject")
{
//删除表格
// emit CallManage::getInstance()->sig_delTableLine(m_strUuid, strWellName, strTrackName, strLineName);
//套管组件
emit CallManage::getInstance()->sig_AddTubingstring(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
// //
//m_listLineName.push_back(strLineName); //m_listLineName.push_back(strLineName);
@ -190,7 +254,62 @@ void PreQTableWidget::dropEvent(QDropEvent *event)
//新建表格曲线 //新建表格曲线
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName); emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
} }
else if(strType=="depthObject")
{
qDebug() << "新建深度";
//新建曲线
emit CallManage::getInstance()->sig_AddDepth(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="ganzhuangtuObject")
{
//新建杆状图
emit CallManage::getInstance()->sig_AddGanZhuangTu(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="JyktObject")
{
//新建井眼垮塌矢量图
emit CallManage::getInstance()->sig_AddJykt(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="DenvObject")
{
//新建井斜方位图
emit CallManage::getInstance()->sig_AddDenv(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="DrawImageObject")
{
//图像 成图
emit CallManage::getInstance()->sig_AddDrawImage(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="SantuyibiaoObject")
{
//斜井三图一表
emit CallManage::getInstance()->sig_AddSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="CrackObject")
{
//裂缝
emit CallManage::getInstance()->sig_AddCrack(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="JiegutextObject")
{
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{
//沉积相
emit CallManage::getInstance()->sig_AddLogface(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="MCalsObject")
{
//多臂井径
emit CallManage::getInstance()->sig_AddMCals(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="TubingstringObject")
{
//套管组件
emit CallManage::getInstance()->sig_AddTubingstring(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
// //
//m_listLineName.push_back(strLineName); //m_listLineName.push_back(strLineName);
@ -237,9 +356,10 @@ void PreQTableWidget::performDrag()
// 执行拖拽操作 // 执行拖拽操作
m_AddSuc = false; m_AddSuc = false;
Qt::DropAction dropAction = drag->exec(Qt::MoveAction); Qt::DropAction dropAction = drag->exec(Qt::MoveAction);
if (dropAction == Qt::MoveAction) { //&& m_AddSuc if (dropAction == Qt::MoveAction)
{
// 处理拖拽结束的逻辑,例如从界面上移除拖拽的项 // 处理拖拽结束的逻辑,例如从界面上移除拖拽的项
removeRow(iCurrentRow); // removeRow(iCurrentRow);
if(strType=="curveObject") if(strType=="curveObject")
{ {
//删除曲线 //删除曲线
@ -252,12 +372,67 @@ void PreQTableWidget::performDrag()
} }
else if(strType=="tableObject") else if(strType=="tableObject")
{ {
//删除波列 //删除表格
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName); emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
} }
else if(strType=="depthObject")
{
//深度
// }
//m_listLineName.removeOne(formInfo->m_strLineName); else if(strType=="ganzhuangtuObject")
{
//杆状图
}
else if(strType=="JyktObject")
{
//井眼垮塌矢量图
}
else if(strType=="DenvObject")
{
//井斜方位图
}
else if(strType=="DrawImageObject")
{
//图像 成图
}
else if(strType=="SantuyibiaoObject")
{
//斜井三图一表
}
else if(strType=="CrackObject")
{
//裂缝
}
else if(strType=="JiegutextObject")
{
//气测/FMT/射孔/文本
//删除表格
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
}
else if(strType=="LogfaceObject")
{
//沉积相
//删除表格
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
}
else if(strType=="MCalsObject")
{
//多臂井径
}
else if(strType=="TubingstringObject")
{
//套管组件
//删除表格
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
}
} }
} }
} }

View File

@ -141,6 +141,8 @@ QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWel
connect(CallManage::getInstance(), SIGNAL(sig_ReloadPlot(QString, QString, QString)), this, SLOT(s_ReloadPlot(QString, QString, QString))); connect(CallManage::getInstance(), SIGNAL(sig_ReloadPlot(QString, QString, QString)), this, SLOT(s_ReloadPlot(QString, QString, QString)));
// 深度属性修改 // 深度属性修改
connect(CallManage::getInstance(), SIGNAL(sig_changeDepthProperty(QVariantList)), this, SLOT(s_changeDepthProperty(QVariantList))); connect(CallManage::getInstance(), SIGNAL(sig_changeDepthProperty(QVariantList)), this, SLOT(s_changeDepthProperty(QVariantList)));
connect(CallManage::getInstance(), SIGNAL(sig_changeDrawProperty(QVariantList)), this, SLOT(s_changeDrawProperty(QVariantList)));
// 岩心分析 // 岩心分析
connect(CallManage::getInstance(), SIGNAL(sig_changeCorePhysicsProperty(QVariantMap)), this, SLOT(s_changeCorePhysicsProperty(QVariantMap))); connect(CallManage::getInstance(), SIGNAL(sig_changeCorePhysicsProperty(QVariantMap)), this, SLOT(s_changeCorePhysicsProperty(QVariantMap)));
@ -250,12 +252,50 @@ void QMyCustomPlot::initWave(QString strSlfName, QString strWaveName)
float vmax = -9999;//(float)_nSamples; float vmax = -9999;//(float)_nSamples;
float vmin = -9999; float vmin = -9999;
// //
double** wavedata = widget->getWavedata(_nSamples, m_Record); #define W_NEW
//wavedata = new double*[_nSamples]; #ifdef W_NEW
//for(int kk = 0;kk<_nSamples;kk++){ float detp = _SDep;
// wavedata[kk] = new double[m_Record]; float edepc = _EDep;
//} if (m_nWaveJg < 10)
m_nWaveJg = 10;
float m_r = _Rlev * m_nWaveJg;
float m_MoveDep = 0.0f;
QVector< QVector <double>> vecWave;
for (float dep1 = detp - 10 * m_r; dep1 < edepc + m_MoveDep + 10 * m_r; dep1 += m_r)
{
int iIndex = Slf_Int(dep1 + m_MoveDep, _SDep, _Rlev);
if (iIndex < 0) {
continue;
}
if (iIndex >= m_Record)
break;
QVector <double> ve(_nSamples);
for (int kk = 0; kk < _nSamples; kk++)
{
double val = GetData(_wave.RepCode, (char *)&value[iIndex * _nSamples*_wave.CodeLen + kk * _wave.CodeLen]);
ve[kk] = val;
if (val == -9999)
{
continue;
}
if (bFistValue == false)
{
//最大值,最小值默认采用第一个有效值
bFistValue = true;
vmax = vmin = val;
}
//
if (vmax < val)vmax = val;
if (vmin > val)vmin = val;
}
vecWave << ve;
}
#else
double** wavedata = widget->getWavedata(_nSamples, m_Record);
for (int i = 0; i < m_Record; i++) for (int i = 0; i < m_Record; i++)
{ {
for (int kk = 0; kk < _nSamples; kk++) for (int kk = 0; kk < _nSamples; kk++)
@ -277,8 +317,10 @@ void QMyCustomPlot::initWave(QString strSlfName, QString strWaveName)
if (vmin > val)vmin = val; if (vmin > val)vmin = val;
} }
} }
#endif
delete[] value; delete[] value;
float f = 264 / 269.0f;
// m_iY1 = 0.0 -_EDep; // m_iY1 = 0.0 -_EDep;
// m_iY2 = 0.0 -_SDep; // m_iY2 = 0.0 -_SDep;
//------------------------ //------------------------
@ -304,7 +346,7 @@ void QMyCustomPlot::initWave(QString strSlfName, QString strWaveName)
widget->yAxis = xAxis; widget->yAxis = xAxis;
widget->m_fmin = vmin; widget->m_fmin = vmin;
widget->m_fmax = vmax; widget->m_fmax = vmax * f;
//------------------- //-------------------
// set up the QCPColorMap: // set up the QCPColorMap:
@ -315,11 +357,51 @@ void QMyCustomPlot::initWave(QString strSlfName, QString strWaveName)
int nx = m_Record; int nx = m_Record;
int ny = _nSamples; int ny = _nSamples;
#ifdef W_NEW
nx = vecWave.size();
#endif
colorMap->data()->setSize(nx, ny); // 我们希望彩色地图有nx*ny的数据点 colorMap->data()->setSize(nx, ny); // 我们希望彩色地图有nx*ny的数据点
//colorMap->data()->setRange(QCPRange(m_iY1, m_iY2), QCPRange(vmin, vmax)); // 并在键x和值y维上跨越坐标范围-4..4 //colorMap->data()->setRange(QCPRange(m_iY1, m_iY2), QCPRange(vmin, vmax)); // 并在键x和值y维上跨越坐标范围-4..4
colorMap->data()->setRange(QCPRange(0 - _EDep, 0 - _SDep), QCPRange(vmin, vmax)); colorMap->data()->setRange(QCPRange(0 - _EDep, 0 - _SDep), QCPRange(vmin, widget->m_fmax));
#ifdef W_NEW
double x, y, z;
for (int xIndex = 0; xIndex < nx; ++xIndex)
{
for (int yIndex = 0; yIndex < ny; ++yIndex)
{
double dz = vecWave[xIndex][yIndex];
if (m_nMode == 0)
{
if (dz == -9999)
{
dz = m_fmax;
}
}
else if (m_nMode == 1)
{
if (dz == -9999)
{
dz = m_fmin;
}
}
else if (m_nMode == 2)
{
if (dz == -9999)
{
dz = m_fmax;
}
else
{
dz = m_fmin;
}
}
m_colorMap->data()->setCell(nx - xIndex - 1, yIndex, dz);
}
}
#else
// 现在我们通过访问颜色贴图的QCPColorMapData实例来分配一些数据 // 现在我们通过访问颜色贴图的QCPColorMapData实例来分配一些数据
this->updateWave(); this->updateWave();
#endif // W_NEW
// 添加色标: // 添加色标:
QCPColorScale *colorScale = new QCPColorScale(widget); QCPColorScale *colorScale = new QCPColorScale(widget);

View File

@ -155,7 +155,7 @@ public:
double** m_wavedata = NULL; double** m_wavedata = NULL;
int m_nRow = 0; int m_nRow = 0;
int m_nCol = 0; int m_nCol = 0;
int m_nDrawType = 3; // 绘图类型 int m_nDrawType = 2; // 绘图类型
// 0.全周 1.正半周 2.负半周 // 0.全周 1.正半周 2.负半周
int m_nMode = 1; int m_nMode = 1;
float m_fScaleV = 0.0f; float m_fScaleV = 0.0f;
@ -168,7 +168,7 @@ public:
bool m_bOddEven = false; // 奇偶配色 bool m_bOddEven = false; // 奇偶配色
float m_Base = 0.0f; // 波列基值 float m_Base = 0.0f; // 波列基值
float m_MaxRange = 1023.0f; float m_MaxRange = 1023.0f;
int m_nWaveJg = 100; int m_nWaveJg = 1;
int m_nWaveHei = 1; int m_nWaveHei = 1;
// 深度 第三个轴 // 深度 第三个轴