#include "wellheader.h" #include "formwell.h" #include "CallManage.h" #include #include #include #include #include #include "PropertyWidget.h" //曲线名称(单个) WellHeader::WellHeader(QWidget *parent, QString strSlfName, QString strWellName) : QWidget(parent) { m_strSlfName = strSlfName; m_strWellName = strWellName; m_Color = Qt::black; } WellHeader::~WellHeader() { } void WellHeader::initProperty(QJsonObject obj) { } QJsonObject WellHeader::makeJson() { QJsonObject rootObj; return rootObj; } void WellHeader::setBorderFlags(BorderFlags flags) { m_BorderFlags = flags; } void WellHeader::paintEvent(QPaintEvent* event) { QPainter painter(this); QRect rect = this->rect(); //背景透明 painter.fillRect(rect.left(), rect.top(), rect.width(), rect.height(), QColor(0, 0, 0, 0)); //QColor(67, 67, 67, 100) QString strShowTxt = ""; painter.setBrush(Qt::NoBrush); // 确保文字不被填充色遮挡 painter.setFont(m_Font); painter.setPen(m_Color); // fontColor QColor(220, 220, 220) painter.drawText(rect, Qt::AlignCenter, m_strWellName); int nbw = m_pFormWell->getBorderGridProperty().m_nWidth; painter.setPen(QPen(m_pFormWell->getBorderGridProperty().m_clor, nbw)); int t = rect.top(); int b = rect.bottom(); int l = rect.left(); int r = rect.right(); // 上边框 if (m_BorderFlags & TopBorder) { painter.drawLine(l, t + nbw / 2, r, t + nbw / 2); } // 下边框 if (m_BorderFlags & BottomBorder) { painter.drawLine(l, b - nbw / 2, r, b - nbw / 2); } // 左边框 if (m_BorderFlags & LeftBorder) { painter.drawLine(l + nbw / 2, t, l + nbw / 2, b); } // 右边框 if (m_BorderFlags & RightBorder) { painter.drawLine(r, t, r, b); } QWidget::paintEvent(event); } void WellHeader::mousePressEvent(QMouseEvent *event) { QWidget::mousePressEvent(event); if (event->button() == Qt::LeftButton) { m_press = true; } } void WellHeader::mouseReleaseEvent(QMouseEvent *event) { if (m_press)//如果鼠标左键被释放 { m_press = false;//按下标志置fasle,形成互斥 PropertyService()->initWellProperty(m_strUuid, m_strSlfName, m_strWellName, m_pFormWell->m_iY1, m_pFormWell->m_iY2, m_pFormWell); //选中单元格 emit CallManage::getInstance()->sig_Raise(m_strUuid, m_strSlfName, m_strWellName, "", "", 1, ""); } }