拖动道切换到拖动的位置
道的单元格多选问题
This commit is contained in:
parent
a3cb0f0394
commit
2d10f16402
|
|
@ -134,173 +134,6 @@ void FormTrackTop::paintEvent(QPaintEvent* event)
|
|||
|
||||
}
|
||||
|
||||
void FormTrackTop::dragEnterEvent(QDragEnterEvent* event)
|
||||
{
|
||||
qDebug() << "FormTrackTop dragEnterEvent";
|
||||
|
||||
const QMimeData* mimeData = event->mimeData();
|
||||
// 检查拖拽的数据类型,确定是否接受拖拽
|
||||
if (event->mimeData()->hasFormat("text/plain")) {
|
||||
event->acceptProposedAction();
|
||||
//QApplication::setOverrideCursor(Qt::PointingHandCursor); // 设置鼠标为可添加状态
|
||||
}
|
||||
else
|
||||
{
|
||||
event->ignore();
|
||||
//QApplication::setOverrideCursor(Qt::ForbiddenCursor); // 设置鼠标为不可添加状态
|
||||
}
|
||||
}
|
||||
|
||||
void FormTrackTop::dragMoveEvent(QDragMoveEvent* event)
|
||||
{
|
||||
qDebug() << "FormTrackTop dragMoveEvent";
|
||||
|
||||
// 可以在这里更新鼠标的位置,根据位置判断是否可以放置
|
||||
// ...
|
||||
//dragEnterEvent(event); // 可以使用相同的逻辑
|
||||
//event->accept();
|
||||
}
|
||||
|
||||
void FormTrackTop::dropEvent(QDropEvent* event)
|
||||
{
|
||||
qDebug() << "FormTrackTop dropEvent";
|
||||
|
||||
// 处理放置动作,更新UI或数据
|
||||
if (event->mimeData()->hasFormat("text/plain")) {
|
||||
// 获取拖拽的数据
|
||||
QString strExtern = event->mimeData()->text();
|
||||
qDebug() << strExtern;
|
||||
//
|
||||
QStringList list = strExtern.split("#@@#");//QString字符串分割函数
|
||||
if (list.size() > 3)
|
||||
{
|
||||
QString strSlfName = list[0];
|
||||
QString strWellName = list[1];
|
||||
QString strLineName = list[2];
|
||||
QString strType = list[3];
|
||||
|
||||
qDebug() << "strSlfName:" << strSlfName<< " strWellName:" << strWellName<< " strLineName:" << strLineName << " strType:" << strType;
|
||||
|
||||
if(m_strWellName == strWellName)
|
||||
{
|
||||
if(strType=="curveObject")
|
||||
{
|
||||
//新建曲线
|
||||
emit CallManage::getInstance()->sig_AddLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="waveObject")
|
||||
{
|
||||
//新建波列
|
||||
emit CallManage::getInstance()->sig_AddWave(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
else if(strType=="tableObject")
|
||||
{
|
||||
//新建表格曲线
|
||||
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=="gujingObject")
|
||||
{
|
||||
//新建固井
|
||||
emit CallManage::getInstance()->sig_AddGujing(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);
|
||||
}
|
||||
else if (strType == "LogMudObject")
|
||||
{
|
||||
//LogMud
|
||||
emit CallManage::getInstance()->sig_AddLogMud(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||
}
|
||||
|
||||
// 接受拖拽事件
|
||||
event->setDropAction(Qt::MoveAction);
|
||||
event->accept();
|
||||
}
|
||||
else
|
||||
{
|
||||
if(strType=="wellItem")//井次名称对应多井,统一处理
|
||||
{
|
||||
//拖拽井次,生成多井
|
||||
emit CallManage::getInstance()->sig_AddMultiWell(m_strUuid, strSlfName, strWellName);
|
||||
// 接受拖拽事件
|
||||
event->setDropAction(Qt::MoveAction);
|
||||
event->accept();
|
||||
}
|
||||
else
|
||||
{
|
||||
// 如果井名不正确,不接受拖拽事件
|
||||
event->ignore();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 如果数据格式不正确,不接受拖拽事件
|
||||
event->ignore();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 如果数据格式不正确,不接受拖拽事件
|
||||
event->ignore();
|
||||
}
|
||||
// 恢复鼠标光标
|
||||
//QApplication::restoreOverrideCursor();
|
||||
}
|
||||
|
||||
//设置 道图例区高度(cm)
|
||||
void FormTrackTop::setTrackHeight(double dTrackHeight)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -32,9 +32,6 @@ protected:
|
|||
void paintEvent(QPaintEvent *event);
|
||||
|
||||
public slots:
|
||||
void dragEnterEvent(QDragEnterEvent* event);
|
||||
void dragMoveEvent(QDragMoveEvent* event);
|
||||
void dropEvent(QDropEvent* event);
|
||||
//属性
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ QMyTableWidget::QMyTableWidget(QWidget *parent) :
|
|||
//setSelectionBehavior(QAbstractItemView::SelectColumns); //拖动列
|
||||
setAcceptDrops(true);
|
||||
|
||||
this->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
|
||||
connect(this, SIGNAL(sig_columnDragged(int, int)), this, SLOT(s_columnDragged(int, int)));
|
||||
|
||||
connect(this, SIGNAL(itemSelectionChanged()), this, SLOT(ChangedItem()));
|
||||
|
|
@ -203,11 +205,12 @@ void QMyTableWidget::performDrag()
|
|||
{
|
||||
qDebug()<<"QMyTableWidget performDrag!";
|
||||
|
||||
if(!currentItem())
|
||||
FormTrack* myWidget = qobject_cast<FormTrack*>(cellWidget(currentRow(), 0));
|
||||
if(!myWidget)
|
||||
{
|
||||
return;
|
||||
}
|
||||
QString strExtern = currentItem()->text();
|
||||
QString strExtern = myWidget->m_strUuid;
|
||||
|
||||
QMimeData *mimeData = new QMimeData;
|
||||
mimeData->setText(strExtern);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user