可视解释右键菜单,追加删除井功能
This commit is contained in:
parent
3f3b6c0575
commit
bf06d27cae
|
|
@ -55,34 +55,6 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
|
||||||
//加载样式
|
//加载样式
|
||||||
loadStyle(":/qrc/qss/flatgray.css");
|
loadStyle(":/qrc/qss/flatgray.css");
|
||||||
|
|
||||||
//-------------------------------------
|
|
||||||
ui->tableWidget->hide();
|
|
||||||
// //隐藏网格线
|
|
||||||
// ui->tableWidget->setShowGrid(false);
|
|
||||||
// //设置样式表,不显示竖直边框
|
|
||||||
// ui->tableWidget->setStyleSheet( "QTableView::item {border-left: 0px solid black;} \
|
|
||||||
// QTableView::item:selected {border-left: 0px solid black;}\
|
|
||||||
// QTableView::item {border-right: 0px solid black;} \
|
|
||||||
// QTableView::item:selected {border-right: 0px solid black;}");
|
|
||||||
// //
|
|
||||||
// ui->tableWidget->verticalHeader()->hide(); //行
|
|
||||||
// ui->tableWidget->horizontalHeader()->hide(); //列
|
|
||||||
// //ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
|
|
||||||
// //ui->tableWidget->horizontalHeader()->setFixedHeight(3);//标题栏高度
|
|
||||||
// ui->tableWidget->setColumnCount(1); //动态设置列数
|
|
||||||
// ui->tableWidget->horizontalHeader()->setStretchLastSection(true);//最后一列铺满最后
|
|
||||||
// //标题
|
|
||||||
// QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
|
||||||
// ui->tableWidget->setHorizontalHeaderItem(0, headerItem);
|
|
||||||
// //我们让一列也可以滑动
|
|
||||||
// ui->tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
|
|
||||||
// ui->tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
|
||||||
// // 设置右键菜单策略
|
|
||||||
// ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
|
|
||||||
// connect(ui->tableWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
|
|
||||||
// // 在窗口构造函数中
|
|
||||||
// //ui->tableWidget->installEventFilter(this);
|
|
||||||
|
|
||||||
//-------------------------------------
|
//-------------------------------------
|
||||||
//ui->tableWidget_2->setFrameShape(QFrame::NoFrame); //设置无边框
|
//ui->tableWidget_2->setFrameShape(QFrame::NoFrame); //设置无边框
|
||||||
//隐藏网格线
|
//隐藏网格线
|
||||||
|
|
@ -106,10 +78,10 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
|
||||||
|
|
||||||
connect(ui->tableWidget_2, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(onItemClicked(QTableWidgetItem*)));
|
connect(ui->tableWidget_2, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(onItemClicked(QTableWidgetItem*)));
|
||||||
|
|
||||||
//-------------------------------------
|
// 设置右键菜单策略
|
||||||
ui->tableWidget_3->hide();
|
ui->tableWidget_2->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
ui->tableWidget_3->verticalHeader()->hide();
|
// 连接信号和槽
|
||||||
ui->tableWidget_3->horizontalHeader()->hide();
|
connect(ui->tableWidget_2, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
|
||||||
|
|
||||||
connect(this, SIGNAL(sig_NewTrackChangeWidth(QString, int)), this, SLOT(s_NewTrackChangeWidth(QString, int)));
|
connect(this, SIGNAL(sig_NewTrackChangeWidth(QString, int)), this, SLOT(s_NewTrackChangeWidth(QString, int)));
|
||||||
//connect(this, SIGNAL(sig_NewWell(QString, QString)), this, SLOT(s_NewWell(QString, QString)));
|
//connect(this, SIGNAL(sig_NewWell(QString, QString)), this, SLOT(s_NewWell(QString, QString)));
|
||||||
|
|
@ -161,7 +133,6 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
|
||||||
//成果表----------
|
//成果表----------
|
||||||
m_dock2=new QDockWidget(tr(""),this);
|
m_dock2=new QDockWidget(tr(""),this);
|
||||||
m_dock2->setFeatures(QDockWidget::NoDockWidgetFeatures);//QDockWidget::DockWidgetMovable
|
m_dock2->setFeatures(QDockWidget::NoDockWidgetFeatures);//QDockWidget::DockWidgetMovable
|
||||||
//dock1->setAllowedAreas(Qt::TopDockWidgetArea);
|
|
||||||
//
|
//
|
||||||
m_formMultiTails = new FormMultiHeads(this);
|
m_formMultiTails = new FormMultiHeads(this);
|
||||||
m_formMultiTails->m_strHeadOrTail = "Tail";
|
m_formMultiTails->m_strHeadOrTail = "Tail";
|
||||||
|
|
@ -2076,7 +2047,7 @@ QStringList MainWindowCurve::insertCol(int nW)
|
||||||
//井没创建,创建井+道+曲线
|
//井没创建,创建井+道+曲线
|
||||||
//新建井
|
//新建井
|
||||||
s_NewWell(strWellName, strSlfName);
|
s_NewWell(strWellName, strSlfName);
|
||||||
m_listWell.push_back(strWellName);
|
//m_listWell.push_back(strWellName);//重复添加
|
||||||
|
|
||||||
column= 0;
|
column= 0;
|
||||||
}
|
}
|
||||||
|
|
@ -2327,38 +2298,6 @@ void MainWindowCurve::s_showHeadTable()
|
||||||
m_dock1->show();
|
m_dock1->show();
|
||||||
m_dock2->show();
|
m_dock2->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
// if(ui->tableWidget->isVisible())
|
|
||||||
// {
|
|
||||||
// ui->tableWidget->hide();
|
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// ui->tableWidget->show();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// QTableWidget *tableWidget = new QTableWidget();
|
|
||||||
|
|
||||||
// tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
|
||||||
// tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
|
||||||
|
|
||||||
// tableWidget->setRowCount(5);
|
|
||||||
// tableWidget->setColumnCount(5);
|
|
||||||
// for(int i=0; i<5; i++)
|
|
||||||
// {
|
|
||||||
// //tableWidget->setColumnWidth(i, 100);
|
|
||||||
// for(int j=0; j<5; j++)
|
|
||||||
// {
|
|
||||||
// QTableWidgetItem* item = new QTableWidgetItem("");
|
|
||||||
// tableWidget->setItem(i, j, item);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
//// QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); // 首选大小策略
|
|
||||||
//// sizePolicy.setHorizontalStretch(0); // 水平拉伸因子
|
|
||||||
//// sizePolicy.setVerticalStretch(0); // 垂直拉伸因子
|
|
||||||
//// tableWidget->setSizePolicy(sizePolicy);
|
|
||||||
|
|
||||||
// ui->verticalLayout_head->addWidget(tableWidget, 0, Qt::AlignCenter); // 通过布局添加表格
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject MainWindowCurve::makeJson()
|
QJsonObject MainWindowCurve::makeJson()
|
||||||
|
|
@ -2579,7 +2518,7 @@ void MainWindowCurve::s_NewTrack()
|
||||||
//井没创建,创建井+道+曲线
|
//井没创建,创建井+道+曲线
|
||||||
//新建井
|
//新建井
|
||||||
s_NewWell(strWellName, strSlfName);
|
s_NewWell(strWellName, strSlfName);
|
||||||
m_listWell.push_back(strWellName);
|
//m_listWell.push_back(strWellName);//重复添加
|
||||||
|
|
||||||
column= 0;
|
column= 0;
|
||||||
}
|
}
|
||||||
|
|
@ -2644,7 +2583,7 @@ void MainWindowCurve::s_NewDepth()
|
||||||
//井没创建,创建井+道+曲线
|
//井没创建,创建井+道+曲线
|
||||||
//新建井
|
//新建井
|
||||||
s_NewWell(strWellName, strSlfName);
|
s_NewWell(strWellName, strSlfName);
|
||||||
m_listWell.push_back(strWellName);
|
//m_listWell.push_back(strWellName);//重复添加
|
||||||
|
|
||||||
column= 0;
|
column= 0;
|
||||||
}
|
}
|
||||||
|
|
@ -3248,7 +3187,7 @@ void MainWindowCurve::NewWellAndTrack(QString strWellName, QString strSlfName, Q
|
||||||
//井没创建,创建井+道+曲线
|
//井没创建,创建井+道+曲线
|
||||||
//新建井
|
//新建井
|
||||||
s_NewWell(strWellName, strSlfName);
|
s_NewWell(strWellName, strSlfName);
|
||||||
m_listWell.push_back(strWellName);
|
//m_listWell.push_back(strWellName);//重复添加
|
||||||
|
|
||||||
//新建道+曲线
|
//新建道+曲线
|
||||||
emit CallManage::getInstance()->sig_NewTrack(m_strUuid, strWellName, strSlfName, strLineName, strType, nW);
|
emit CallManage::getInstance()->sig_NewTrack(m_strUuid, strWellName, strSlfName, strLineName, strType, nW);
|
||||||
|
|
@ -4239,3 +4178,92 @@ void MainWindowCurve::resizeItem(QString strWellName, double colWidth, double ro
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindowCurve::slotContextMenu(QPoint pos)
|
||||||
|
{
|
||||||
|
if(ui->tableWidget_2->columnCount()==0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int column = ui->tableWidget_2->currentColumn();//列编号从0开始
|
||||||
|
if(column<0)
|
||||||
|
{
|
||||||
|
//当前没有选中井
|
||||||
|
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(column%2==0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//空白列
|
||||||
|
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//当前行
|
||||||
|
int iCurrentRow = ui->tableWidget_2->currentRow();
|
||||||
|
if(iCurrentRow == 0)
|
||||||
|
{
|
||||||
|
QMenu menu(ui->tableWidget_2);
|
||||||
|
menu.addAction(QIcon(::GetImagePath() + "antialiasing.png"), "删除当前测井图", this, &MainWindowCurve::slotDeleteSelectTrack);
|
||||||
|
menu.exec(ui->tableWidget_2->mapToGlobal(pos));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindowCurve::slotDeleteSelectTrack()
|
||||||
|
{
|
||||||
|
int colCount = ui->tableWidget_2->columnCount();
|
||||||
|
|
||||||
|
//当前列
|
||||||
|
int column = ui->tableWidget_2->currentColumn();//列编号从0开始
|
||||||
|
if(column<0)
|
||||||
|
{
|
||||||
|
//当前没有选中井
|
||||||
|
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(column%2==0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//空白列
|
||||||
|
QMessageBox::warning(this, "提示", "当前没有选中井", "确定");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//当前行
|
||||||
|
int iCurrentRow = ui->tableWidget_2->currentRow();
|
||||||
|
if(iCurrentRow == 0)
|
||||||
|
{
|
||||||
|
if(column==0)
|
||||||
|
{
|
||||||
|
if(colCount==1)//只有1口井
|
||||||
|
{
|
||||||
|
ui->tableWidget_2->removeColumn(column);
|
||||||
|
m_listWell.clear();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QString strWellName = ui->tableWidget_2->item(iCurrentRow, column)->text();
|
||||||
|
m_listWell.removeOne(strWellName);
|
||||||
|
//
|
||||||
|
ui->tableWidget_2->removeColumn(column+1);//空白列,注意先删除空白列,否则列号改变
|
||||||
|
ui->tableWidget_2->removeColumn(column);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(column>1)
|
||||||
|
{
|
||||||
|
QString strWellName = ui->tableWidget_2->item(iCurrentRow, column)->text();
|
||||||
|
m_listWell.removeOne(strWellName);
|
||||||
|
//
|
||||||
|
ui->tableWidget_2->removeColumn(column);
|
||||||
|
ui->tableWidget_2->removeColumn(column-1);//空白列,注意先删除选中列,否则列号改变
|
||||||
|
}
|
||||||
|
//resizeWindow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ public:
|
||||||
QLineEdit *spinbox3;
|
QLineEdit *spinbox3;
|
||||||
|
|
||||||
int m_iScale=200;
|
int m_iScale=200;
|
||||||
double m_iY1=0;
|
double m_iY1=-1000;
|
||||||
double m_iY2=0;
|
double m_iY2=0;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -156,6 +156,10 @@ public slots:
|
||||||
//右键--清除全部分段线
|
//右键--清除全部分段线
|
||||||
void s_DelAllShiftLine(QString strUuid);
|
void s_DelAllShiftLine(QString strUuid);
|
||||||
|
|
||||||
|
//右键菜单响应函数
|
||||||
|
void slotContextMenu(QPoint pos);
|
||||||
|
void slotDeleteSelectTrack();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void s_NewWell(QString strWellName, QString strSlfName);//新建井
|
void s_NewWell(QString strWellName, QString strSlfName);//新建井
|
||||||
void s_NewTrackChangeWidth(QString strWellName, int nW=0);//新建道后,改变井宽
|
void s_NewTrackChangeWidth(QString strWellName, int nW=0);//新建道后,改变井宽
|
||||||
|
|
|
||||||
|
|
@ -17,15 +17,9 @@
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
|
||||||
<widget class="QTableWidget" name="tableWidget"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTableWidget" name="tableWidget_2"/>
|
<widget class="QTableWidget" name="tableWidget_2"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QTableWidget" name="tableWidget_3"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user