图头属性信息可配置,支持背景图例配置,支持文字字体、颜色配置。
This commit is contained in:
parent
cf80a84c9e
commit
c8f80b3b58
|
|
@ -2,9 +2,12 @@
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QSvgRenderer>
|
||||||
|
#include <QLabel>
|
||||||
#include "CallManage.h"
|
#include "CallManage.h"
|
||||||
|
|
||||||
extern int g_iScale;
|
extern int g_iScale;
|
||||||
|
extern double g_dPixelPerCm;//每厘米像素数
|
||||||
|
|
||||||
PropertyWidget::PropertyWidget(const QString &title, QWidget *parent , Qt::WindowFlags flags )
|
PropertyWidget::PropertyWidget(const QString &title, QWidget *parent , Qt::WindowFlags flags )
|
||||||
:QDockWidget(title,parent,flags)
|
:QDockWidget(title,parent,flags)
|
||||||
|
|
@ -61,6 +64,7 @@ void PropertyWidget::InitCurrentViewInfo()
|
||||||
m_propertyData.clear();
|
m_propertyData.clear();
|
||||||
m_mapGroupItem.clear();
|
m_mapGroupItem.clear();
|
||||||
|
|
||||||
|
m_strUuid = "";
|
||||||
m_strSlfName = "";
|
m_strSlfName = "";
|
||||||
m_strWellName = "";
|
m_strWellName = "";
|
||||||
m_strTrackName = "";
|
m_strTrackName = "";
|
||||||
|
|
@ -73,13 +77,13 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
{
|
{
|
||||||
if("深度比例尺" == m_propertyData[pProperty])
|
if("深度比例尺" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "深度比例尺->改变";
|
//qDebug() << "深度比例尺->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Widget_Property)
|
if(m_strCurrentProperty == Widget_Property)
|
||||||
{
|
{
|
||||||
int iScale = 200;
|
int iScale = 200;
|
||||||
QString newScale = pProperty->valueText();
|
QString newScale = pProperty->valueText();
|
||||||
qDebug() << "深度比例尺->" << newScale;
|
//qDebug() << "深度比例尺->" << newScale;
|
||||||
//
|
//
|
||||||
int pos = newScale.indexOf(":");
|
int pos = newScale.indexOf(":");
|
||||||
if(pos>-1)
|
if(pos>-1)
|
||||||
|
|
@ -96,10 +100,9 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
g_iScale = iScale;
|
g_iScale = iScale;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if("左刻度" == m_propertyData[pProperty])
|
else if("左刻度" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "左刻度->改变";
|
//qDebug() << "左刻度->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -111,7 +114,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("右刻度" == m_propertyData[pProperty])
|
else if("右刻度" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "右刻度->改变";
|
//qDebug() << "右刻度->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -123,7 +126,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("刻度类型" == m_propertyData[pProperty])
|
else if("刻度类型" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "刻度类型->改变";
|
//qDebug() << "刻度类型->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -135,7 +138,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("颜色" == m_propertyData[pProperty])
|
else if("颜色" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "颜色->改变";
|
//qDebug() << "颜色->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -147,7 +150,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("线宽" == m_propertyData[pProperty])
|
else if("线宽" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "线宽->改变";
|
//qDebug() << "线宽->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -157,7 +160,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("线型" == m_propertyData[pProperty])
|
else if("线型" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "线型->改变";
|
//qDebug() << "线型->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -194,7 +197,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("填充模式" == m_propertyData[pProperty])
|
else if("填充模式" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "填充模式->改变";
|
//qDebug() << "填充模式->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -203,7 +206,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("填充类型" == m_propertyData[pProperty])
|
else if("填充类型" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "填充类型->改变";
|
//qDebug() << "填充类型->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -212,7 +215,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("目标曲线" == m_propertyData[pProperty])
|
else if("目标曲线" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "目标曲线->改变";
|
//qDebug() << "目标曲线->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -221,7 +224,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("填充颜色" == m_propertyData[pProperty])
|
else if("填充颜色" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "填充颜色->改变";
|
//qDebug() << "填充颜色->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -230,7 +233,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("填充岩性" == m_propertyData[pProperty])
|
else if("填充岩性" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "填充岩性->改变";
|
//qDebug() << "填充岩性->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -239,7 +242,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("岩性前景色" == m_propertyData[pProperty])
|
else if("岩性前景色" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "岩性前景色->改变";
|
//qDebug() << "岩性前景色->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -248,7 +251,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("岩性背景色" == m_propertyData[pProperty])
|
else if("岩性背景色" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "岩性背景色->改变";
|
//qDebug() << "岩性背景色->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
|
|
@ -257,13 +260,164 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
|
||||||
}
|
}
|
||||||
else if("头部图例" == m_propertyData[pProperty])
|
else if("头部图例" == m_propertyData[pProperty])
|
||||||
{
|
{
|
||||||
qDebug() << "头部图例->改变";
|
//qDebug() << "头部图例->改变";
|
||||||
//当前属性类型
|
//当前属性类型
|
||||||
if(m_strCurrentProperty == Curve_Property)
|
if(m_strCurrentProperty == Curve_Property)
|
||||||
{
|
{
|
||||||
ChangFillProperty();
|
ChangFillProperty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//图头---------------------------
|
||||||
|
else if("图例" == m_propertyData[pProperty])
|
||||||
|
{
|
||||||
|
//qDebug() << "图例->改变";
|
||||||
|
//当前属性类型
|
||||||
|
if(m_strCurrentProperty == Head_Property)
|
||||||
|
{
|
||||||
|
QString newSvg = variant.value<QString>();
|
||||||
|
m_item->setData(Qt::UserRole+1, newSvg); // 图片路径
|
||||||
|
//图头项改变
|
||||||
|
ChangHeadItemProperty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if("图例宽(cm)" == m_propertyData[pProperty])
|
||||||
|
{
|
||||||
|
//qDebug() << "图例宽(cm)->改变";
|
||||||
|
//当前属性类型
|
||||||
|
if(m_strCurrentProperty == Head_Property)
|
||||||
|
{
|
||||||
|
double newWidth = variant.value<double>();
|
||||||
|
m_item->setData(Qt::UserRole+2, newWidth); // 图片路径
|
||||||
|
m_colWidth = newWidth;
|
||||||
|
//图头项改变
|
||||||
|
ChangHeadItemProperty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if("图例高(cm)" == m_propertyData[pProperty])
|
||||||
|
{
|
||||||
|
//qDebug() << "图例高(cm)->改变";
|
||||||
|
//当前属性类型
|
||||||
|
if(m_strCurrentProperty == Head_Property)
|
||||||
|
{
|
||||||
|
double newHight = variant.value<double>();
|
||||||
|
m_item->setData(Qt::UserRole+3, newHight); // 图片路径
|
||||||
|
m_rowHeight = newHight;
|
||||||
|
//图头项改变
|
||||||
|
ChangHeadItemProperty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if("内容" == m_propertyData[pProperty])
|
||||||
|
{
|
||||||
|
//qDebug() << "内容->改变";
|
||||||
|
//当前属性类型
|
||||||
|
if(m_strCurrentProperty == Head_Property)
|
||||||
|
{
|
||||||
|
QString newText = variant.value<QString>();
|
||||||
|
m_formHead->m_bRefresh=false;
|
||||||
|
m_item->setText(newText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if("方向" == m_propertyData[pProperty])
|
||||||
|
{
|
||||||
|
//qDebug() << "方向->改变";
|
||||||
|
//当前属性类型
|
||||||
|
if(m_strCurrentProperty == Head_Property)
|
||||||
|
{
|
||||||
|
QString newDirection = pProperty->valueText();
|
||||||
|
if(newDirection=="垂直")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
//m_item->
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if("字体颜色" == m_propertyData[pProperty])
|
||||||
|
{
|
||||||
|
//qDebug() << "字体颜色->改变";
|
||||||
|
//当前属性类型
|
||||||
|
if(m_strCurrentProperty == Head_Property)
|
||||||
|
{
|
||||||
|
//字体颜色
|
||||||
|
// 假设variant已经被设置为包含QColor
|
||||||
|
QColor newColor = variant.value<QColor>();
|
||||||
|
// 设置字体颜色
|
||||||
|
QBrush brush(newColor); // 使用Qt::red预定义颜色
|
||||||
|
m_formHead->m_bRefresh=false;
|
||||||
|
m_item->setForeground(brush);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if("字体" == m_propertyData[pProperty])
|
||||||
|
{
|
||||||
|
//qDebug() << "字体->改变";
|
||||||
|
//当前属性类型
|
||||||
|
if(m_strCurrentProperty == Head_Property)
|
||||||
|
{
|
||||||
|
//字体
|
||||||
|
// 假设variant已经被设置为包含QColor
|
||||||
|
QFont newFont = variant.value<QFont>();
|
||||||
|
// 设置字体
|
||||||
|
m_formHead->m_bRefresh=false;
|
||||||
|
m_item->setFont(newFont);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PropertyWidget::ChangHeadItemProperty()
|
||||||
|
{
|
||||||
|
//清空
|
||||||
|
m_tableWidget->setCellWidget(m_iRow, m_iCol, nullptr);
|
||||||
|
|
||||||
|
//---------------------------
|
||||||
|
QString imagePath = ""; //"./image/胜利符号库/解释结论符号/油层.svg"
|
||||||
|
QVariant bgData = m_item->data(Qt::UserRole+1); // 我们约定用这个角色存储图片路径
|
||||||
|
if (bgData.isValid()) {
|
||||||
|
imagePath = bgData.toString();
|
||||||
|
}
|
||||||
|
if(imagePath=="")
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(imagePath!="")
|
||||||
|
{
|
||||||
|
if(imagePath.size()>4)
|
||||||
|
{
|
||||||
|
int colWidth = m_colWidth*g_dPixelPerCm;
|
||||||
|
int rowHeight = m_rowHeight*g_dPixelPerCm;
|
||||||
|
//
|
||||||
|
QString strLast = imagePath.right(4);
|
||||||
|
if(strLast.toLower()==".svg")
|
||||||
|
{
|
||||||
|
//
|
||||||
|
QSvgRenderer* svgRender = new QSvgRenderer();
|
||||||
|
svgRender->load(imagePath);
|
||||||
|
//
|
||||||
|
QPixmap* pixmap = new QPixmap(colWidth-1, rowHeight-1);
|
||||||
|
pixmap->fill(Qt::transparent);//设置背景透明
|
||||||
|
QPainter p(pixmap);
|
||||||
|
svgRender->render(&p);
|
||||||
|
//1.直接采用控件显示
|
||||||
|
QLabel* label = new QLabel;
|
||||||
|
label->setPixmap(*pixmap);
|
||||||
|
label->setAlignment(Qt::AlignHCenter);
|
||||||
|
label->show();
|
||||||
|
m_formHead->m_bRefresh=false;
|
||||||
|
m_tableWidget->setCellWidget(m_iRow, m_iCol,label);
|
||||||
|
|
||||||
|
//m_item->setIcon(QIcon(*pixmap));
|
||||||
|
// 设置背景刷
|
||||||
|
//QBrush brush(*pixmap);
|
||||||
|
//m_item->setBackground(brush);
|
||||||
|
//m_tableWidget->setItem(m_iRow, m_iCol, new QTableWidgetItem(QIcon(*pixmap),tr("")));
|
||||||
|
}
|
||||||
|
else if(strLast.toLower()==".png")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PropertyWidget::ChangFillProperty()
|
void PropertyWidget::ChangFillProperty()
|
||||||
|
|
@ -288,7 +442,7 @@ void PropertyWidget::ChangFillProperty()
|
||||||
if(pProperty->hasValue())
|
if(pProperty->hasValue())
|
||||||
{
|
{
|
||||||
newFillMode = pProperty->valueText();
|
newFillMode = pProperty->valueText();
|
||||||
qDebug() << "填充模式->" << newFillMode;
|
//qDebug() << "填充模式->" << newFillMode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(it.value()=="填充类型")
|
else if(it.value()=="填充类型")
|
||||||
|
|
@ -297,7 +451,7 @@ void PropertyWidget::ChangFillProperty()
|
||||||
if(pProperty->hasValue())
|
if(pProperty->hasValue())
|
||||||
{
|
{
|
||||||
newFillType = pProperty->valueText();
|
newFillType = pProperty->valueText();
|
||||||
qDebug() << "填充类型->" << newFillType;
|
//qDebug() << "填充类型->" << newFillType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(it.value()=="目标曲线")
|
else if(it.value()=="目标曲线")
|
||||||
|
|
@ -306,7 +460,7 @@ void PropertyWidget::ChangFillProperty()
|
||||||
if(pProperty->hasValue())
|
if(pProperty->hasValue())
|
||||||
{
|
{
|
||||||
newTargetLine = pProperty->valueText();
|
newTargetLine = pProperty->valueText();
|
||||||
qDebug() << "目标曲线->" << newTargetLine;
|
//qDebug() << "目标曲线->" << newTargetLine;
|
||||||
//
|
//
|
||||||
if(newTargetLine=="左界道" || newTargetLine=="右界道" || newTargetLine=="对称线")
|
if(newTargetLine=="左界道" || newTargetLine=="右界道" || newTargetLine=="对称线")
|
||||||
{
|
{
|
||||||
|
|
@ -334,7 +488,7 @@ void PropertyWidget::ChangFillProperty()
|
||||||
{
|
{
|
||||||
newColor = pProperty->value().value<QColor>();
|
newColor = pProperty->value().value<QColor>();
|
||||||
}
|
}
|
||||||
qDebug() << "填充颜色->";
|
//qDebug() << "填充颜色->";
|
||||||
}
|
}
|
||||||
else if(it.value()=="填充岩性")
|
else if(it.value()=="填充岩性")
|
||||||
{
|
{
|
||||||
|
|
@ -343,7 +497,7 @@ void PropertyWidget::ChangFillProperty()
|
||||||
{
|
{
|
||||||
newLithosImage = pProperty->valueText();
|
newLithosImage = pProperty->valueText();
|
||||||
}
|
}
|
||||||
qDebug() << "填充岩性->" << newLithosImage;
|
//qDebug() << "填充岩性->" << newLithosImage;
|
||||||
}
|
}
|
||||||
else if(it.value()=="岩性前景色")
|
else if(it.value()=="岩性前景色")
|
||||||
{
|
{
|
||||||
|
|
@ -352,7 +506,7 @@ void PropertyWidget::ChangFillProperty()
|
||||||
{
|
{
|
||||||
frontColor = pProperty->value().value<QColor>();
|
frontColor = pProperty->value().value<QColor>();
|
||||||
}
|
}
|
||||||
qDebug() << "岩性前景色->";
|
//qDebug() << "岩性前景色->";
|
||||||
}
|
}
|
||||||
else if(it.value()=="岩性背景色")
|
else if(it.value()=="岩性背景色")
|
||||||
{
|
{
|
||||||
|
|
@ -361,7 +515,7 @@ void PropertyWidget::ChangFillProperty()
|
||||||
{
|
{
|
||||||
backColor = pProperty->value().value<QColor>();
|
backColor = pProperty->value().value<QColor>();
|
||||||
}
|
}
|
||||||
qDebug() << "岩性背景色->";
|
//qDebug() << "岩性背景色->";
|
||||||
}
|
}
|
||||||
else if(it.value()=="头部图例")
|
else if(it.value()=="头部图例")
|
||||||
{
|
{
|
||||||
|
|
@ -369,7 +523,7 @@ void PropertyWidget::ChangFillProperty()
|
||||||
if(pProperty->hasValue())
|
if(pProperty->hasValue())
|
||||||
{
|
{
|
||||||
newHeadFill = pProperty->valueText();
|
newHeadFill = pProperty->valueText();
|
||||||
qDebug() << "头部图例->" << newHeadFill;
|
//qDebug() << "头部图例->" << newHeadFill;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -481,27 +635,11 @@ void PropertyWidget::initWidgetProperty()
|
||||||
}
|
}
|
||||||
|
|
||||||
void PropertyWidget::initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList<float> listMin, QList<float> listMax, QStringList strListOtherScaleType)
|
void PropertyWidget::initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList<float> listMin, QList<float> listMax, QStringList strListOtherScaleType)
|
||||||
//void PropertyWidget::initCurveProperty(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor, double dWidth, QStringList strListOtherLine)
|
|
||||||
{
|
{
|
||||||
//初始化,清空
|
//初始化,清空
|
||||||
InitCurrentViewInfo();
|
InitCurrentViewInfo();
|
||||||
m_strUuid = formInfo->m_strUuid;
|
m_strUuid = formInfo->m_strUuid;
|
||||||
|
|
||||||
// QString strSlfName = formInfo->m_strSlfName;
|
|
||||||
// QString strWellName = formInfo->m_strWellName;
|
|
||||||
// QString strTrackName = formInfo->m_strTrackName;
|
|
||||||
// QString strLineName = formInfo->m_strLineName;
|
|
||||||
// int ilineStyle = formInfo->m_lineStyle;
|
|
||||||
// QString newHeadFill = formInfo->m_newHeadFill;
|
|
||||||
|
|
||||||
// QColor lineColor = formInfo->m_lineColor;
|
|
||||||
// double dWidth = formInfo->m_dWidth;
|
|
||||||
// float vmax = formInfo->m_vmax;
|
|
||||||
// float vmin = formInfo->m_vmin;
|
|
||||||
// QString strScaleType = formInfo->m_strScaleType;
|
|
||||||
// QColor frontColor = formInfo->m_frontColor;
|
|
||||||
// QColor backColor = formInfo->m_backColor;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
m_strSlfName = formInfo->m_strSlfName;
|
m_strSlfName = formInfo->m_strSlfName;
|
||||||
m_strWellName = formInfo->m_strWellName;
|
m_strWellName = formInfo->m_strWellName;
|
||||||
|
|
@ -578,3 +716,50 @@ void PropertyWidget::initCurveProperty(FormInfo *formInfo, QStringList strListOt
|
||||||
_CreateVariantPropertyItem("岩性填充", "岩性前景色", formInfo->m_frontColor, QVariant::Color);
|
_CreateVariantPropertyItem("岩性填充", "岩性前景色", formInfo->m_frontColor, QVariant::Color);
|
||||||
_CreateVariantPropertyItem("岩性填充", "岩性背景色", formInfo->m_backColor, QVariant::Color);
|
_CreateVariantPropertyItem("岩性填充", "岩性背景色", formInfo->m_backColor, QVariant::Color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PropertyWidget::initHeadProperty(FormHead *formHead, QTableWidget *tableWidget, QTableWidgetItem* item, int row, int col)
|
||||||
|
{
|
||||||
|
//初始化,清空
|
||||||
|
InitCurrentViewInfo();
|
||||||
|
|
||||||
|
m_formHead = formHead;
|
||||||
|
m_tableWidget = tableWidget;
|
||||||
|
m_item = item;
|
||||||
|
m_iRow = row;
|
||||||
|
m_iCol = col;
|
||||||
|
|
||||||
|
//当前属性类型
|
||||||
|
m_strCurrentProperty = Head_Property;
|
||||||
|
|
||||||
|
QStringList listDirection;
|
||||||
|
listDirection.append("水平");
|
||||||
|
listDirection.append("垂直");
|
||||||
|
|
||||||
|
QString imagePath = "";//"./image/胜利符号库/解释结论符号/油层.svg"
|
||||||
|
QVariant bgData = m_item->data(Qt::UserRole+1); // 我们约定用这个角色存储图片路径
|
||||||
|
if (bgData.isValid()) {
|
||||||
|
imagePath = bgData.toString();
|
||||||
|
}
|
||||||
|
//图例宽
|
||||||
|
QVariant colWidthData = m_item->data(Qt::UserRole+2);
|
||||||
|
if (colWidthData.isValid()) {
|
||||||
|
m_colWidth = colWidthData.toDouble();
|
||||||
|
}
|
||||||
|
//图例高
|
||||||
|
QVariant rowHeightData = m_item->data(Qt::UserRole+3);
|
||||||
|
if (rowHeightData.isValid()) {
|
||||||
|
m_rowHeight = rowHeightData.toDouble();
|
||||||
|
}
|
||||||
|
|
||||||
|
_CreateVariantPropertyItem("单元格", "图例", imagePath, VariantManager::filePathTypeId()); //"./image/胜利符号库/岩性符号/砂岩.png"
|
||||||
|
_CreateVariantPropertyItem("单元格", "图例宽(cm)", m_colWidth, QVariant::Double, 0, 100);
|
||||||
|
_CreateVariantPropertyItem("单元格", "图例高(cm)", m_rowHeight, QVariant::Double, 0, 100);
|
||||||
|
|
||||||
|
_CreateVariantPropertyItem("文本", "内容", item->text(), QVariant::String);
|
||||||
|
_CreateVariantPropertyItem("文本", "字体", m_item->font(), QVariant::Font);
|
||||||
|
_CreateEnumPropertyItem("文本", "方向", 0, listDirection);
|
||||||
|
_CreateVariantPropertyItem("文本", "字体颜色", m_item->foreground().color(), QVariant::Color);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <QDockWidget>
|
#include <QDockWidget>
|
||||||
|
#include <QTableWidget>
|
||||||
|
|
||||||
#include "qtpropertybrowser.h"
|
#include "qtpropertybrowser.h"
|
||||||
#include "qtvariantproperty.h"
|
#include "qtvariantproperty.h"
|
||||||
|
|
@ -15,10 +16,12 @@
|
||||||
#include "variantfactory.h"
|
#include "variantfactory.h"
|
||||||
//
|
//
|
||||||
#include "forminfo.h"
|
#include "forminfo.h"
|
||||||
|
#include "formhead.h"
|
||||||
|
|
||||||
//当前曲线类型
|
//当前曲线类型
|
||||||
#define Widget_Property "Widget_Property"
|
#define Widget_Property "Widget_Property"
|
||||||
#define Curve_Property "Curve_Property"
|
#define Curve_Property "Curve_Property"
|
||||||
|
#define Head_Property "Head_Property"
|
||||||
|
|
||||||
#pragma execution_character_set("utf-8")
|
#pragma execution_character_set("utf-8")
|
||||||
|
|
||||||
|
|
@ -57,6 +60,14 @@ public:
|
||||||
QList<float> m_listMax;
|
QList<float> m_listMax;
|
||||||
QStringList m_strListOtherScaleType;
|
QStringList m_strListOtherScaleType;
|
||||||
|
|
||||||
|
FormHead *m_formHead;
|
||||||
|
QTableWidget *m_tableWidget;
|
||||||
|
QTableWidgetItem* m_item;
|
||||||
|
int m_iRow;
|
||||||
|
int m_iCol;
|
||||||
|
double m_colWidth = 1;
|
||||||
|
double m_rowHeight = 1;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QWidget* GetPropertyWidget();
|
QWidget* GetPropertyWidget();
|
||||||
|
|
||||||
|
|
@ -66,11 +77,15 @@ public:
|
||||||
|
|
||||||
void InitCurrentViewInfo(); //初始化属性,清空
|
void InitCurrentViewInfo(); //初始化属性,清空
|
||||||
void initWidgetProperty(); //可视解释整体属性
|
void initWidgetProperty(); //可视解释整体属性
|
||||||
//void initCurveProperty(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor, double dWidth, QStringList strListOtherLine); //曲线属性
|
//曲线
|
||||||
void initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList<float> listMin, QList<float> listMax, QStringList strListOtherScaleType);
|
void initCurveProperty(FormInfo *formInfo, QStringList strListOtherLine, QList<float> listMin, QList<float> listMax, QStringList strListOtherScaleType);
|
||||||
|
//图头
|
||||||
|
void initHeadProperty(FormHead *formHead, QTableWidget *tableWidget, QTableWidgetItem* item, int row, int col);
|
||||||
|
|
||||||
void ChangFillProperty();//填充属性改变
|
void ChangFillProperty();//填充属性改变
|
||||||
|
|
||||||
|
void ChangHeadItemProperty();//图头项改变
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void SlotPropertyChanged( QtProperty *property, const QVariant &variant );
|
void SlotPropertyChanged( QtProperty *property, const QVariant &variant );
|
||||||
|
|
||||||
|
|
|
||||||
24
logPlus/backgrounddelegate.cpp
Normal file
24
logPlus/backgrounddelegate.cpp
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#include "backgrounddelegate.h"
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QPixmap>
|
||||||
|
|
||||||
|
BackgroundDelegate::BackgroundDelegate(QObject *parent)
|
||||||
|
: QStyledItemDelegate(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BackgroundDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
|
||||||
|
{
|
||||||
|
// 首先,检查这个单元格是否有背景图片数据,我们可以使用一个角色来存储,比如Qt::UserRole+1
|
||||||
|
QVariant bgData = index.data(Qt::UserRole+1); // 我们约定用这个角色存储图片路径
|
||||||
|
if (bgData.isValid()) {
|
||||||
|
QString imagePath = bgData.toString();
|
||||||
|
QPixmap pixmap(imagePath);
|
||||||
|
if (!pixmap.isNull()) {
|
||||||
|
// 绘制背景图片,缩放到单元格大小
|
||||||
|
painter->drawPixmap(option.rect, pixmap.scaled(option.rect.size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 然后调用基类绘制文本等
|
||||||
|
QStyledItemDelegate::paint(painter, option, index);
|
||||||
|
}
|
||||||
15
logPlus/backgrounddelegate.h
Normal file
15
logPlus/backgrounddelegate.h
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
#ifndef BACKGROUNDDELEGATE_H
|
||||||
|
#define BACKGROUNDDELEGATE_H
|
||||||
|
|
||||||
|
|
||||||
|
// 在头文件中声明
|
||||||
|
#include <QStyledItemDelegate>
|
||||||
|
|
||||||
|
class BackgroundDelegate : public QStyledItemDelegate
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit BackgroundDelegate(QObject *parent = nullptr);
|
||||||
|
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // BACKGROUNDDELEGATE_H
|
||||||
|
|
@ -6,13 +6,20 @@
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
#include "CallManage.h"
|
#include "CallManage.h"
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
#include <QSvgRenderer>
|
||||||
|
#include <QLabel>
|
||||||
|
#include "backgrounddelegate.h"
|
||||||
|
#include "PropertyWidget.h"
|
||||||
|
|
||||||
//extern int g_iRows;
|
//extern int g_iRows;
|
||||||
//extern int g_iCols;
|
//extern int g_iCols;
|
||||||
|
|
||||||
int g_iColsWidth=200;
|
int g_iFixedWidth=20;
|
||||||
int g_iRowsHight=80;
|
int g_iFixedHeight=20;
|
||||||
|
|
||||||
|
int g_iColsWidth=100;
|
||||||
|
int g_iRowsHight=40;
|
||||||
|
extern double g_dPixelPerCm;//每厘米像素数
|
||||||
//画图头
|
//画图头
|
||||||
FormHead::FormHead(QWidget *parent, int indexID) :
|
FormHead::FormHead(QWidget *parent, int indexID) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
|
|
@ -31,8 +38,8 @@ FormHead::FormHead(QWidget *parent, int indexID) :
|
||||||
//
|
//
|
||||||
//ui->tableWidget->verticalHeader()->hide(); //行
|
//ui->tableWidget->verticalHeader()->hide(); //行
|
||||||
//ui->tableWidget->horizontalHeader()->hide(); //列
|
//ui->tableWidget->horizontalHeader()->hide(); //列
|
||||||
ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
|
ui->tableWidget->verticalHeader()->setFixedWidth(g_iFixedWidth);//标题栏宽度
|
||||||
ui->tableWidget->horizontalHeader()->setFixedHeight(3);//标题栏高度
|
ui->tableWidget->horizontalHeader()->setFixedHeight(g_iFixedHeight);//标题栏高度
|
||||||
//ui->tableWidget->setColumnCount(1); //动态设置列数
|
//ui->tableWidget->setColumnCount(1); //动态设置列数
|
||||||
//ui->tableWidget->horizontalHeader()->setStretchLastSection(true);//最后一列铺满最后
|
//ui->tableWidget->horizontalHeader()->setStretchLastSection(true);//最后一列铺满最后
|
||||||
//标题
|
//标题
|
||||||
|
|
@ -43,12 +50,14 @@ FormHead::FormHead(QWidget *parent, int indexID) :
|
||||||
ui->tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
ui->tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||||
// 设置右键菜单策略
|
// 设置右键菜单策略
|
||||||
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
|
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
connect(ui->tableWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
|
|
||||||
// 在窗口构造函数中
|
// 在窗口构造函数中
|
||||||
//ui->tableWidget->installEventFilter(this);
|
//ui->tableWidget->installEventFilter(this);
|
||||||
|
// 设置整个表格的委托,或者特定列的委托
|
||||||
|
//ui->tableWidget->setItemDelegate(new BackgroundDelegate(ui->tableWidget));
|
||||||
|
|
||||||
// 连接信号和槽
|
// 连接信号和槽
|
||||||
connect(ui->tableWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
|
connect(ui->tableWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
|
||||||
|
//connect(ui->tableWidget, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(slotItemClicked(QTableWidgetItem*)));
|
||||||
}
|
}
|
||||||
|
|
||||||
FormHead::~FormHead()
|
FormHead::~FormHead()
|
||||||
|
|
@ -59,14 +68,16 @@ FormHead::~FormHead()
|
||||||
void FormHead::resizeWindow()
|
void FormHead::resizeWindow()
|
||||||
{
|
{
|
||||||
QRect rect = this->rect();
|
QRect rect = this->rect();
|
||||||
|
int tempWidth = m_iCols*g_iColsWidth+g_iFixedWidth+10;
|
||||||
|
int tempHight = m_iRows*g_iRowsHight+g_iFixedHeight+10;
|
||||||
//调整大小
|
//调整大小
|
||||||
if(rect.width()>m_iCols*g_iColsWidth)
|
if(rect.width()>tempWidth)
|
||||||
{
|
{
|
||||||
ui->tableWidget->setGeometry((rect.width()-(m_iCols*g_iColsWidth+1))/2, 0, m_iCols*(g_iColsWidth+1)+4, m_iRows*(g_iRowsHight+2)+4);
|
ui->tableWidget->setGeometry((rect.width()-tempWidth)/2, 2, tempWidth, tempHight);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui->tableWidget->setGeometry(0, 0, m_iCols*(g_iColsWidth+1)+4, m_iRows*(g_iRowsHight+2)+4);
|
ui->tableWidget->setGeometry(0, 2, tempWidth, tempHight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,7 +86,7 @@ void FormHead::resizeEvent(QResizeEvent *event)
|
||||||
resizeWindow();
|
resizeWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormHead::Init(int iRows, int iCols, int iWidth)
|
void FormHead::Init(int iRows, int iCols)
|
||||||
{
|
{
|
||||||
m_iRows =iRows;
|
m_iRows =iRows;
|
||||||
m_iCols = iCols;
|
m_iCols = iCols;
|
||||||
|
|
@ -93,6 +104,19 @@ void FormHead::Init(int iRows, int iCols, int iWidth)
|
||||||
ui->tableWidget->setColumnCount(m_iCols);//列数
|
ui->tableWidget->setColumnCount(m_iCols);//列数
|
||||||
ui->tableWidget->setRowCount(m_iRows); //动态设置行数
|
ui->tableWidget->setRowCount(m_iRows); //动态设置行数
|
||||||
|
|
||||||
|
// for(int i=0; i<m_iRows; i++)
|
||||||
|
// {
|
||||||
|
// //行标题
|
||||||
|
// QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
||||||
|
// ui->tableWidget->setVerticalHeaderItem(i, headerItem);
|
||||||
|
// }
|
||||||
|
// for(int j=0; j<m_iCols; j++)
|
||||||
|
// {
|
||||||
|
// //列标题
|
||||||
|
// QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
||||||
|
// ui->tableWidget->setHorizontalHeaderItem(j, headerItem);
|
||||||
|
// }
|
||||||
|
|
||||||
for(int i=0; i<m_iRows; i++)
|
for(int i=0; i<m_iRows; i++)
|
||||||
{
|
{
|
||||||
//设置高度
|
//设置高度
|
||||||
|
|
@ -103,8 +127,101 @@ void FormHead::Init(int iRows, int iCols, int iWidth)
|
||||||
//设置列宽
|
//设置列宽
|
||||||
ui->tableWidget->setColumnWidth(j, g_iColsWidth);
|
ui->tableWidget->setColumnWidth(j, g_iColsWidth);
|
||||||
|
|
||||||
QTableWidgetItem* item = new QTableWidgetItem("");
|
double colWidth = g_iColsWidth-1;
|
||||||
ui->tableWidget->setItem(i, j, item);
|
double rowHeight = g_iRowsHight-1;
|
||||||
|
QTableWidgetItem* item = new QTableWidgetItem("");//QString::number(i) + "-" + QString::number(j)
|
||||||
|
// 将图片路径存储在Qt::UserRole+1角色中
|
||||||
|
item->setData(Qt::UserRole+1, "./image/胜利符号库/解释结论符号/"); // 图片路径
|
||||||
|
item->setData(Qt::UserRole+2, colWidth/g_dPixelPerCm); //图例宽
|
||||||
|
item->setData(Qt::UserRole+3, rowHeight/g_dPixelPerCm); //图例高
|
||||||
|
ui->tableWidget->setItem(i, j, item);
|
||||||
|
|
||||||
|
//---------------------------
|
||||||
|
QString imagePath = ""; //"./image/胜利符号库/解释结论符号/油层.svg"
|
||||||
|
QVariant bgData = item->data(Qt::UserRole+1); // 我们约定用这个角色存储图片路径
|
||||||
|
if (bgData.isValid()) {
|
||||||
|
imagePath = bgData.toString();
|
||||||
|
}
|
||||||
|
if(imagePath=="")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if(imagePath.size()>4)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
QString strLast = imagePath.right(4);
|
||||||
|
if(strLast.toLower()==".svg")
|
||||||
|
{
|
||||||
|
QSvgRenderer* svgRender = new QSvgRenderer();
|
||||||
|
svgRender->load(imagePath);
|
||||||
|
//
|
||||||
|
QPixmap* pixmap = new QPixmap(colWidth, rowHeight);
|
||||||
|
pixmap->fill(Qt::transparent);//设置背景透明
|
||||||
|
QPainter p(pixmap);
|
||||||
|
svgRender->render(&p);
|
||||||
|
//1.直接采用控件显示
|
||||||
|
QLabel* label = new QLabel;
|
||||||
|
label->setPixmap(*pixmap);
|
||||||
|
label->setAlignment(Qt::AlignHCenter);
|
||||||
|
label->show();
|
||||||
|
ui->tableWidget->setCellWidget(i, j,label);
|
||||||
|
}
|
||||||
|
else if(strLast.toLower()==".png")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//初始化完成后再连接信号槽,防止数据初始化时激活信号
|
||||||
|
connect(ui->tableWidget, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(onItemChanged(QTableWidgetItem*)));
|
||||||
|
connect(ui->tableWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onItemSelectionChanged()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormHead::slotItemClicked(QTableWidgetItem* item)
|
||||||
|
{
|
||||||
|
if (item) {
|
||||||
|
// 获取行和列索引
|
||||||
|
int row = item->row();
|
||||||
|
int column = item->column();
|
||||||
|
if(row>=0 && column>=0)
|
||||||
|
{
|
||||||
|
PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormHead::onItemSelectionChanged()
|
||||||
|
{
|
||||||
|
QTableWidgetItem* item = ui->tableWidget->currentItem();
|
||||||
|
if (item) {
|
||||||
|
// 获取行和列索引
|
||||||
|
int row = item->row();
|
||||||
|
int column = item->column();
|
||||||
|
if(row>=0 && column>=0)
|
||||||
|
{
|
||||||
|
PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormHead::onItemChanged(QTableWidgetItem* item)
|
||||||
|
{
|
||||||
|
if(m_bRefresh==false)
|
||||||
|
{
|
||||||
|
//针对属性页修改了内容,避免重复刷新属性页
|
||||||
|
m_bRefresh=true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item) {
|
||||||
|
// 获取行和列索引
|
||||||
|
int row = item->row();
|
||||||
|
int column = item->column();
|
||||||
|
if(row>=0 && column>=0)
|
||||||
|
{
|
||||||
|
PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,18 @@ public:
|
||||||
int m_iRows;
|
int m_iRows;
|
||||||
int m_iCols;
|
int m_iCols;
|
||||||
|
|
||||||
|
bool m_bRefresh=true;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void Init(int iRows, int iCols, int iWidth);
|
void Init(int iRows, int iCols);
|
||||||
void resizeEvent(QResizeEvent *event);
|
void resizeEvent(QResizeEvent *event);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void resizeWindow();
|
void resizeWindow();
|
||||||
|
//
|
||||||
|
void slotItemClicked(QTableWidgetItem* item);
|
||||||
|
void onItemChanged(QTableWidgetItem* item);
|
||||||
|
void onItemSelectionChanged();
|
||||||
|
|
||||||
//图头右键菜单响应函数
|
//图头右键菜单响应函数
|
||||||
void slotContextMenu(QPoint pos);
|
void slotContextMenu(QPoint pos);
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,14 @@ QJsonObject FormInfo::makeJson()
|
||||||
// 创建根对象
|
// 创建根对象
|
||||||
QJsonObject rootObj;
|
QJsonObject rootObj;
|
||||||
//
|
//
|
||||||
rootObj["SlfName"] = m_strSlfName;
|
QString slffilename=QString("");
|
||||||
|
int ind=m_strSlfName.lastIndexOf('\\');
|
||||||
|
int ind2=m_strSlfName.lastIndexOf('/');
|
||||||
|
if(ind2>ind) ind=ind2;
|
||||||
|
if(ind>-1) {
|
||||||
|
slffilename=m_strSlfName.mid(ind+1);
|
||||||
|
}
|
||||||
|
rootObj["SlfName"] = slffilename;
|
||||||
rootObj["WellName"] = m_strWellName;
|
rootObj["WellName"] = m_strWellName;
|
||||||
rootObj["TrackName"] = m_strTrackName;
|
rootObj["TrackName"] = m_strTrackName;
|
||||||
rootObj["LineName"] = m_strLineName;
|
rootObj["LineName"] = m_strLineName;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ extern int g_iRows;
|
||||||
extern int g_iCols;
|
extern int g_iCols;
|
||||||
extern int g_iColsWidth;
|
extern int g_iColsWidth;
|
||||||
extern int g_iRowsHight;
|
extern int g_iRowsHight;
|
||||||
|
extern int g_iFixedWidth;
|
||||||
|
extern int g_iFixedHeight;
|
||||||
|
|
||||||
FormMultiHeads::FormMultiHeads(QWidget *parent) :
|
FormMultiHeads::FormMultiHeads(QWidget *parent) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
|
|
@ -29,8 +31,8 @@ FormMultiHeads::FormMultiHeads(QWidget *parent) :
|
||||||
//
|
//
|
||||||
//ui->tableWidget->verticalHeader()->hide(); //行
|
//ui->tableWidget->verticalHeader()->hide(); //行
|
||||||
//ui->tableWidget->horizontalHeader()->hide(); //列
|
//ui->tableWidget->horizontalHeader()->hide(); //列
|
||||||
ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
|
ui->tableWidget->verticalHeader()->setFixedWidth(10);//标题栏宽度
|
||||||
ui->tableWidget->horizontalHeader()->setFixedHeight(3);//标题栏高度
|
ui->tableWidget->horizontalHeader()->setFixedHeight(10);//标题栏高度
|
||||||
ui->tableWidget->setColumnCount(1); //动态设置列数
|
ui->tableWidget->setColumnCount(1); //动态设置列数
|
||||||
ui->tableWidget->horizontalHeader()->setStretchLastSection(true);//最后一列铺满最后
|
ui->tableWidget->horizontalHeader()->setStretchLastSection(true);//最后一列铺满最后
|
||||||
//标题
|
//标题
|
||||||
|
|
@ -73,28 +75,27 @@ void FormMultiHeads::slotContextMenu(QPoint pos)
|
||||||
QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
||||||
ui->tableWidget->setVerticalHeaderItem(rowcount, headerItem);
|
ui->tableWidget->setVerticalHeaderItem(rowcount, headerItem);
|
||||||
|
|
||||||
int iWidth=0;
|
int tempWidth = g_iCols*g_iColsWidth+g_iFixedWidth+15;
|
||||||
|
int tempHight = g_iRows*g_iRowsHight+g_iFixedHeight+15;
|
||||||
//设置行高度
|
//设置行高度
|
||||||
ui->tableWidget->setRowHeight(rowcount, g_iRows*(g_iRowsHight+2)+1);
|
ui->tableWidget->setRowHeight(rowcount, tempHight);
|
||||||
if(rowcount==0)
|
if(rowcount==0)
|
||||||
{
|
{
|
||||||
iWidth=g_iCols*g_iColsWidth;
|
|
||||||
//设置列宽
|
//设置列宽
|
||||||
ui->tableWidget->setColumnWidth(0, g_iCols*(g_iColsWidth+1)+1);
|
ui->tableWidget->setColumnWidth(0, tempWidth);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
iWidth=ui->tableWidget->columnWidth(0);
|
int iWidth=ui->tableWidget->columnWidth(0);
|
||||||
if(iWidth<g_iCols*g_iColsWidth)//列宽变大
|
if(iWidth<g_iCols*g_iColsWidth)//列宽变大
|
||||||
{
|
{
|
||||||
iWidth=g_iCols*g_iColsWidth;
|
|
||||||
//设置列宽
|
//设置列宽
|
||||||
ui->tableWidget->setColumnWidth(0, g_iCols*(g_iColsWidth+1)+1);
|
ui->tableWidget->setColumnWidth(0, tempWidth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
FormHead *widgetHead = new FormHead(this, 1);
|
FormHead *widgetHead = new FormHead(this, 1);
|
||||||
widgetHead->Init(g_iRows, g_iCols, iWidth);
|
widgetHead->Init(g_iRows, g_iCols);
|
||||||
ui->tableWidget->setCellWidget(rowcount, 0, widgetHead);
|
ui->tableWidget->setCellWidget(rowcount, 0, widgetHead);
|
||||||
}
|
}
|
||||||
else if (result == QDialog::Rejected) {
|
else if (result == QDialog::Rejected) {
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,13 @@
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>18</number>
|
<number>9</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="topMargin">
|
<property name="topMargin">
|
||||||
<number>9</number>
|
<number>9</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="rightMargin">
|
<property name="rightMargin">
|
||||||
<number>18</number>
|
<number>9</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
|
||||||
QT += core gui
|
QT += core gui svg
|
||||||
|
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
|
|
@ -33,6 +33,7 @@ SOURCES += \
|
||||||
InDefTableDlg.cpp \
|
InDefTableDlg.cpp \
|
||||||
InterfaceWidget.cpp \
|
InterfaceWidget.cpp \
|
||||||
PropertyWidget.cpp \
|
PropertyWidget.cpp \
|
||||||
|
backgrounddelegate.cpp \
|
||||||
customtabbar.cpp \
|
customtabbar.cpp \
|
||||||
customtabwidget.cpp \
|
customtabwidget.cpp \
|
||||||
fileedit.cpp \
|
fileedit.cpp \
|
||||||
|
|
@ -66,6 +67,7 @@ HEADERS += \
|
||||||
InterfaceWidget.h \
|
InterfaceWidget.h \
|
||||||
PropertyWidget.h \
|
PropertyWidget.h \
|
||||||
TransparentDraggableRect.h \
|
TransparentDraggableRect.h \
|
||||||
|
backgrounddelegate.h \
|
||||||
customtabbar.h \
|
customtabbar.h \
|
||||||
customtabwidget.h \
|
customtabwidget.h \
|
||||||
fileedit.h \
|
fileedit.h \
|
||||||
|
|
|
||||||
|
|
@ -456,7 +456,8 @@ void MainWindow::s_ShowCurve(QString strSlfName, QString strName)
|
||||||
{
|
{
|
||||||
WellLogTableDialogNew* pDialog = new WellLogTableDialogNew();
|
WellLogTableDialogNew* pDialog = new WellLogTableDialogNew();
|
||||||
pDialog->setName(strSlfName, strName, CURVE_OBJECT);
|
pDialog->setName(strSlfName, strName, CURVE_OBJECT);
|
||||||
QString wellname;QString path;
|
QString wellname;
|
||||||
|
QString path;
|
||||||
GetWellNameAndPath(strSlfName, wellname, path);
|
GetWellNameAndPath(strSlfName, wellname, path);
|
||||||
m_centerWidgets->addTab(pDialog, wellname + ":" + strName);
|
m_centerWidgets->addTab(pDialog, wellname + ":" + strName);
|
||||||
int iCount = m_centerWidgets->count();
|
int iCount = m_centerWidgets->count();
|
||||||
|
|
|
||||||
|
|
@ -1279,6 +1279,16 @@ void MainWindowCurve::DisplayLine_One(QJsonObject lineObjInfo)
|
||||||
if (value.isString()) {
|
if (value.isString()) {
|
||||||
strSlfName = value.toString();
|
strSlfName = value.toString();
|
||||||
//qDebug() << "SlfName:" << strSlfName;
|
//qDebug() << "SlfName:" << strSlfName;
|
||||||
|
|
||||||
|
//
|
||||||
|
QString slffilename=QString("");
|
||||||
|
int ind=strSlfName.lastIndexOf('\\');
|
||||||
|
int ind2=strSlfName.lastIndexOf('/');
|
||||||
|
if(ind2>ind) ind=ind2;
|
||||||
|
if(ind>-1) {
|
||||||
|
slffilename = strSlfName.mid(ind+1);
|
||||||
|
strSlfName = slffilename;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (lineObjInfo.contains("WellName"))
|
if (lineObjInfo.contains("WellName"))
|
||||||
|
|
@ -1384,6 +1394,11 @@ void MainWindowCurve::DisplayLine_One(QJsonObject lineObjInfo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString folderPath = GetLogdataPath();
|
||||||
|
folderPath = folderPath + g_prjname;
|
||||||
|
strSlfName = folderPath + "/" + "#" + strWellName + "/" + strSlfName;
|
||||||
|
|
||||||
if(strLineName!="")
|
if(strLineName!="")
|
||||||
{
|
{
|
||||||
//新建曲线
|
//新建曲线
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user