频率统计图BUg 玫瑰图属性

This commit is contained in:
crqiqi77 2026-04-07 13:33:39 +08:00
parent 23fdba635d
commit c97223e698
6 changed files with 75 additions and 28 deletions

View File

@ -3055,9 +3055,7 @@ void PropertyWidget::initProperty(FormInfo *formInfo)
void PropertyWidget::initRoseProperty(FormInfo *formInfo)
{
//
_CreateVariantPropertyItem("数据", "名称", formInfo->m_strAliasName, QVariant::String);
QStringList listType;
listType.append("曲线型数据");
listType.append("表格型数据");
@ -3066,7 +3064,22 @@ void PropertyWidget::initRoseProperty(FormInfo *formInfo)
_CreateVariantPropertyItem("数据", "井文件名称", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("数据", "方位曲线", "STRDIR", QVariant::String);
_CreateVariantPropertyItem("数据", "倾角曲线", "CALM", QVariant::String);
//
_CreateVariantPropertyItem("通常", "例区高度(cm)", 36, QVariant::Int);
_CreateVariantPropertyItem("表数据", "深度字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "方位字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "倾角字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("表数据", "属性字段", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("控制曲线", "曲线名", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("控制曲线", "最大值", m_strSlfName, QVariant::Double);
_CreateVariantPropertyItem("控制曲线", "最小值", m_strSlfName, QVariant::Double);
_CreateVariantPropertyItem("字体", "名称", 36, QVariant::Font);
_CreateVariantPropertyItem("字体", "单位", 36, QVariant::Font);
_CreateVariantPropertyItem("字体", "刻度", 36, QVariant::Font);
_CreateVariantPropertyItem("玫瑰图", "扇形", 36, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "圆半径(cm)", 1, QVariant::Int);
_CreateVariantPropertyItem("玫瑰图", "辐射圈", 9, QVariant::Int);
@ -3079,8 +3092,28 @@ void PropertyWidget::initRoseProperty(FormInfo *formInfo)
_CreateVariantPropertyItem("玫瑰图", "绘制井眼垮塌", true, QVariant::Bool);
_CreateVariantPropertyItem("玫瑰图", "是否填充", true, QVariant::Bool);
_CreateVariantPropertyItem("玫瑰图", "是否绘制标注?", true, QVariant::Bool);
// _CreateVariantPropertyItem("玫瑰图", "道头字体", fromTop->m_font, QVariant::Font);
// _CreateVariantPropertyItem("玫瑰图", "道头字颜色", fromTop->m_fontColor, QVariant::Color);
_CreateVariantPropertyItem("统计参数", "统计间隔", 36, QVariant::Int);
_CreateVariantPropertyItem("统计参数", "最小倾角", 36, QVariant::Int);
_CreateVariantPropertyItem("统计参数", "最大倾角", 36, QVariant::Int);
_CreateVariantPropertyItem("分类", "高导缝", formInfo->m_pl_highGap, QVariant::Bool);
_CreateVariantPropertyItem("分类", "高阻缝", formInfo->m_pl_highReservoir, QVariant::Bool);
_CreateVariantPropertyItem("分类", "网状缝", formInfo->m_pl_reticularFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "诱导缝", formInfo->m_pl_inducedFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "层理", formInfo->m_pl_bedLayer, QVariant::Bool);
_CreateVariantPropertyItem("分类", "侵蚀面", formInfo->m_pl_erosionSurface, QVariant::Bool);
_CreateVariantPropertyItem("分类", "孔洞", formInfo->m_pl_pore, QVariant::Bool);
_CreateVariantPropertyItem("分类", "气孔", formInfo->m_pl_vesicle, QVariant::Bool);
_CreateVariantPropertyItem("分类", "砾石", formInfo->m_pl_gravel, QVariant::Bool);
_CreateVariantPropertyItem("分类", "结核", formInfo->m_pl_nodule, QVariant::Bool);
_CreateVariantPropertyItem("分类", "团块", formInfo->m_pl_lumps, QVariant::Bool);
_CreateVariantPropertyItem("分类", "断层", formInfo->m_pl_fault, QVariant::Bool);
_CreateVariantPropertyItem("分类", "垂直缝", formInfo->m_pl_verticalFracture, QVariant::Bool);
_CreateVariantPropertyItem("分类", "自定义1", formInfo->m_pl_custom1, QVariant::Bool);
_CreateVariantPropertyItem("分类", "自定义2", formInfo->m_pl_custom2, QVariant::Bool);
m_strCurrentProperty = PL_OBJECT_PROPERTY;
}
void PropertyWidget::initWaveProperty(FormInfo *formInfo, int nType)
@ -4352,6 +4385,8 @@ void PropertyWidget::changedPlObjectProperty(QString strProperty, QVariant varVa
variantMap["m_pl_minInclination"] = this->m_formInfo->m_pl_minInclination;
variantMap["m_pl_maxInclination"] = this->m_formInfo->m_pl_maxInclination;
variantMap["m_strUuid"] = this->m_formInfo->m_strUuid;
variantMap["m_strTrackName"] = this->m_formInfo->m_strTrackName;
emit CallManage::getInstance()->sig_changePlObjectProperty(variantMap);
}
}

View File

@ -45,14 +45,13 @@
#define Gujing_Property "Gujing_Property" //固井结论
#define GujingItem_Property "GujingItem_Property" //固井item
#define Image_Property "Image_Property" // 岩心图片
#define ImageItem_Property "ImageItem_Property" // 岩心图片item
#define Depth_Property "Depth_Property" // 深度
#define CORE_PHYSICS_PROPERTY "CORE_PHYSICS_PROPERTY" // 岩心分析
#define CORE_PHYSICS_ITEM_PROPERTY "CORE_PHYSICS_ITEM_PROPERTY" // 岩心分析item
#define Depth_Property "Depth_Property" // 深度
#define Image_Property "Image_Property" // 岩心图片
#define ImageItem_Property "ImageItem_Property" // 岩心图片item
#define PL_OBJECT_PROPERTY "PL_OBJECT_PROPERTY" // 频率统计图
#define ROSE_OBJECT_PROPERTY "ROSE_OBJECT_PROPERTY" // 玫瑰图
#define SwallCore_Property "SwallCore_Property" //井壁取心
#define SwallCoreItem_Property "SwallCoreItem_Property" //井壁取心item
@ -176,8 +175,7 @@ public:
void initTableProperty(FormInfo *formInfo);
void initProperty(FormInfo *formInfo);
// 玫瑰图属性
void initRoseProperty(FormInfo *formInfo);
// 波列属性
void initWaveProperty(FormInfo *formInfo, int nType = 3);
@ -225,16 +223,6 @@ public:
//处理通用属性
void CommonPropertyChanged(QtProperty *pProperty, const QVariant &variant);
// 频率统计图
void initPlObjectProperty(FormInfo *formInfo);
void changedPlObjectProperty(QString strProName, QVariant val);
// 岩心照片 属性
void initImageProperty(FormInfo *formInfo);
void initImageItemProperty(TransparentDraggableImage* tdImage, double lower, double upper, QString strResult, double left, double width, QColor borderColor, Qt::PenStyle borderStyle, int borderWidth);
void changedYxzpProperty(QtProperty *pProperty, const QVariant &variant);
void changedYxzpItemProperty(QtProperty *pProperty, const QVariant &variant);
// 深度
void initDepthProperty(FormInfo *formInfo);
void changedDepthProperty(QString strProName, QVariant val);
@ -244,6 +232,19 @@ public:
void initCorePhysicsItemProperty(TransparentDraggableCorePhysics* tdImage);
void changedCorePhysicsProperty(QtProperty *pProperty, const QVariant &variant, bool isItem = false);
// 岩心照片 属性
void initImageProperty(FormInfo *formInfo);
void initImageItemProperty(TransparentDraggableImage* tdImage, double lower, double upper, QString strResult, double left, double width, QColor borderColor, Qt::PenStyle borderStyle, int borderWidth);
void changedYxzpProperty(QtProperty *pProperty, const QVariant &variant);
void changedYxzpItemProperty(QtProperty *pProperty, const QVariant &variant);
// 频率统计图
void initPlObjectProperty(FormInfo *formInfo);
void changedPlObjectProperty(QString strProName, QVariant val);
// 玫瑰图
void initRoseProperty(FormInfo *formInfo);
public slots:
void SlotPropertyChanged(QtProperty *property, const QVariant &variant);
void SlotPropertyChanged(QtProperty *property, const int &val, bool islinestyle);

View File

@ -273,7 +273,7 @@ public:
int m_pl_statInterval = 10; // 统计间隔
double m_pl_minInclination = 0; // 最小倾角
double m_pl_maxInclination = 90; // 最大倾角
// 地质要素分类开关
// 分类(频率统计图、玫瑰图)
bool m_pl_highGap = false; // 高导缝
bool m_pl_highReservoir = false; // 高阻缝
bool m_pl_reticularFracture = false; // 网状缝
@ -290,6 +290,9 @@ public:
bool m_pl_custom1 = false; // 自定义1
bool m_pl_custom2 = false; // 自定义2
// 玫瑰图
// 玫瑰图变量
int cpLineWidth() const;
void setCpLineWidth(int cpLineWidth);

View File

@ -139,6 +139,8 @@ QVector<QWidget *> FormWell::new_track(QStringList listdt, QString strTrackName)
strTrackName = "DCA检测";
else if(strType == "tdtObject")
strTrackName = "TDT";
else if(strType == "plObject")
strTrackName = "频率统计图" + QString::number(columnCount+1);
else{
strTrackName = "" + QString::number(columnCount+1);
}

View File

@ -10035,6 +10035,11 @@ void QMyCustomPlot::resetPosition()
void QMyCustomPlot::s_changePlObjectProperty(QVariantMap variantMap)
{
QString strTrackName = variantMap["m_strTrackName"].toString();
if(this->m_strTrackName != strTrackName)
{
return;
}
QString csCurveGrad = variantMap["m_pl_controlCurveName"].toString();
double LeftVal3 = variantMap["m_pl_controlMinValue"].toDouble();
double RightVal3 = variantMap["m_pl_controlMaxValue"].toDouble();
@ -10065,6 +10070,7 @@ void QMyCustomPlot::s_changePlObjectProperty(QVariantMap variantMap)
double minInclination = variantMap["m_pl_minInclination"].toDouble();
double maxInclination = variantMap["m_pl_maxInclination"].toDouble();
this->fgrqDraw(csCurveGrad, LeftVal3, RightVal3, nArc, nR, crArc, nArcLineWidth, bFill, crFill,
lineNumber, lineHeight, lineThickness, lineColor, drawAnnotation, drawHistogram, baselineWidth,
baselineColor, statInterval, minInclination, maxInclination);
@ -10130,7 +10136,7 @@ void QMyCustomPlot::fgrqDraw(QString csCurveGrad, double LeftVal3, double RightV
float flDep = tmp * nstep;
m_Curve.DepLevel = 0.5;
while ( 1)
while (1)
{
if((flDep>=ftmpEdep+nstep)||flDep>=ftmpEdep)break;
@ -10329,8 +10335,8 @@ void QMyCustomPlot::fgrqDraw(QString csCurveGrad, double LeftVal3, double RightV
}
void QMyCustomPlot::drawDipAngle(double centerX, double centerY, float ifdir[360], int iIndex, float dirmax,
int lineNumber, double lineHeight, int lineThickness, QColor lineColor, bool drawHistogram,
int baselineWidth, QColor baselineColor, double minInclination, double maxInclination)
int lineNumber, double lineHeight, int lineThickness, QColor lineColor, bool drawHistogram,
int baselineWidth, QColor baselineColor, double minInclination, double maxInclination)
{
double startX = centerX + 400;
double startY = centerY - 5;

View File

@ -642,8 +642,8 @@ public:
int baselineWidth, QColor baselineColor, int nstep, double minInclination, double maxInclination);
// 绘制倾角
void drawDipAngle(double centerX, double centerY, float ifdir[360], int iIndex, float dirmax,
int lineNumber, double lineHeight, int lineThickness, QColor lineColor, bool drawHistogram,
int baselineWidth, QColor baselineColor, double minInclination, double maxInclination);
int lineNumber, double lineHeight, int lineThickness, QColor lineColor, bool drawHistogram,
int baselineWidth, QColor baselineColor, double minInclination, double maxInclination);
void Refurbish();