可视解释右键菜单,追加删除井功能
This commit is contained in:
parent
3f3b6c0575
commit
bf06d27cae
|
|
@ -55,34 +55,6 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
|
|||
//加载样式
|
||||
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); //设置无边框
|
||||
//隐藏网格线
|
||||
|
|
@ -106,10 +78,10 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
|
|||
|
||||
connect(ui->tableWidget_2, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(onItemClicked(QTableWidgetItem*)));
|
||||
|
||||
//-------------------------------------
|
||||
ui->tableWidget_3->hide();
|
||||
ui->tableWidget_3->verticalHeader()->hide();
|
||||
ui->tableWidget_3->horizontalHeader()->hide();
|
||||
// 设置右键菜单策略
|
||||
ui->tableWidget_2->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
// 连接信号和槽
|
||||
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_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->setFeatures(QDockWidget::NoDockWidgetFeatures);//QDockWidget::DockWidgetMovable
|
||||
//dock1->setAllowedAreas(Qt::TopDockWidgetArea);
|
||||
//
|
||||
m_formMultiTails = new FormMultiHeads(this);
|
||||
m_formMultiTails->m_strHeadOrTail = "Tail";
|
||||
|
|
@ -2076,7 +2047,7 @@ QStringList MainWindowCurve::insertCol(int nW)
|
|||
//井没创建,创建井+道+曲线
|
||||
//新建井
|
||||
s_NewWell(strWellName, strSlfName);
|
||||
m_listWell.push_back(strWellName);
|
||||
//m_listWell.push_back(strWellName);//重复添加
|
||||
|
||||
column= 0;
|
||||
}
|
||||
|
|
@ -2327,38 +2298,6 @@ void MainWindowCurve::s_showHeadTable()
|
|||
m_dock1->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()
|
||||
|
|
@ -2579,7 +2518,7 @@ void MainWindowCurve::s_NewTrack()
|
|||
//井没创建,创建井+道+曲线
|
||||
//新建井
|
||||
s_NewWell(strWellName, strSlfName);
|
||||
m_listWell.push_back(strWellName);
|
||||
//m_listWell.push_back(strWellName);//重复添加
|
||||
|
||||
column= 0;
|
||||
}
|
||||
|
|
@ -2644,7 +2583,7 @@ void MainWindowCurve::s_NewDepth()
|
|||
//井没创建,创建井+道+曲线
|
||||
//新建井
|
||||
s_NewWell(strWellName, strSlfName);
|
||||
m_listWell.push_back(strWellName);
|
||||
//m_listWell.push_back(strWellName);//重复添加
|
||||
|
||||
column= 0;
|
||||
}
|
||||
|
|
@ -3248,7 +3187,7 @@ void MainWindowCurve::NewWellAndTrack(QString strWellName, QString strSlfName, Q
|
|||
//井没创建,创建井+道+曲线
|
||||
//新建井
|
||||
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);
|
||||
|
|
@ -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;
|
||||
|
||||
int m_iScale=200;
|
||||
double m_iY1=0;
|
||||
double m_iY1=-1000;
|
||||
double m_iY2=0;
|
||||
|
||||
public:
|
||||
|
|
@ -156,6 +156,10 @@ public slots:
|
|||
//右键--清除全部分段线
|
||||
void s_DelAllShiftLine(QString strUuid);
|
||||
|
||||
//右键菜单响应函数
|
||||
void slotContextMenu(QPoint pos);
|
||||
void slotDeleteSelectTrack();
|
||||
|
||||
public slots:
|
||||
void s_NewWell(QString strWellName, QString strSlfName);//新建井
|
||||
void s_NewTrackChangeWidth(QString strWellName, int nW=0);//新建道后,改变井宽
|
||||
|
|
|
|||
|
|
@ -17,15 +17,9 @@
|
|||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableWidget"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableWidget_2"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableWidget_3"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user