header文件
This commit is contained in:
parent
25c314dbac
commit
0f92921893
102
logPlus/wellheader.cpp
Normal file
102
logPlus/wellheader.cpp
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
#include "wellheader.h"
|
||||||
|
#include "formwell.h"
|
||||||
|
#include "CallManage.h"
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QMimeData>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QMenu>
|
||||||
|
#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, "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
47
logPlus/wellheader.h
Normal file
47
logPlus/wellheader.h
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
#ifndef WELLHEADER_H
|
||||||
|
#define WELLHEADER_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QPaintEvent>
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
|
#pragma execution_character_set("utf-8")
|
||||||
|
|
||||||
|
class FormWell;
|
||||||
|
class WellHeader : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit WellHeader(QWidget *parent = nullptr, QString strSlfName="", QString strWellName="");
|
||||||
|
~WellHeader();
|
||||||
|
|
||||||
|
void initProperty(QJsonObject obj);
|
||||||
|
QJsonObject makeJson();
|
||||||
|
|
||||||
|
void setBorderFlags(BorderFlags flags);
|
||||||
|
private:
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void paintEvent(QPaintEvent *event);
|
||||||
|
void mousePressEvent(QMouseEvent *event);
|
||||||
|
void mouseReleaseEvent(QMouseEvent *event);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
public:
|
||||||
|
QString m_strUuid;
|
||||||
|
QString m_strSlfName;
|
||||||
|
QString m_strWellName;
|
||||||
|
|
||||||
|
QFont m_Font = QFont("微软雅黑", 14); //显示名称字体
|
||||||
|
QColor m_Color; //颜色
|
||||||
|
bool m_press;//判断鼠标是否按下
|
||||||
|
BorderFlags m_BorderFlags;
|
||||||
|
FormWell* m_pFormWell = NULL;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // WELLHEADER_H
|
||||||
Loading…
Reference in New Issue
Block a user