支持在视图下方,显示成果表。

This commit is contained in:
jiayulong 2026-02-05 16:14:09 +08:00
parent 5804813c57
commit 6f13922871
9 changed files with 75 additions and 4 deletions

View File

@ -124,6 +124,10 @@ signals:
//置顶层,并取消其他表格的选中状态
void sig_Raise(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iTableType, QString strFormInfoType);
//图头、成果表
//取消其他表格的选中状态
void sig_UnSelectTableItem(QString strUuid);
//修改曲线选择状态 iSelect=0未知1标准曲线2主校曲线3从校曲线
void sig_ChangeLineStatus(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iSelect, bool bMerge);

View File

@ -73,6 +73,8 @@ void PropertyWidget::InitCurrentViewInfo()
m_fromTop = NULL;
m_formInfo = NULL;
m_formHead = NULL;
m_tableWidget = NULL;
m_item = NULL;
m_strUuid = "";
m_strSlfName = "";

View File

@ -174,6 +174,7 @@ void FormHead::Init(int iRows, int iCols)
// 设置字体颜色
QColor colorTxt(0, 0, 0, 255);
item->setForeground(QBrush(colorTxt));
//item->setData(Qt::UserRole, QVariant("vertical"));
//
ui->tableWidget->setItem(i, j, item);
@ -226,7 +227,20 @@ void FormHead::Init(int iRows, int iCols)
//初始化完成后再连接信号槽,防止数据初始化时激活信号
connect(ui->tableWidget, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(onItemChanged(QTableWidgetItem*)));
connect(ui->tableWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onItemSelectionChanged()));
connect(ui->tableWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onItemSelectionChanged()));//曲线选中,置顶
connect(CallManage::getInstance(), SIGNAL(sig_UnSelectTableItem(QString)), this, SLOT(s_UnSelectTableItem(QString)));
}
//图头、成果表
//取消其他表格的选中状态
void FormHead::s_UnSelectTableItem(QString strUuid)
{
if(strUuid==m_indexID)
{
return;
}
//取消表格的选中状态
ui->tableWidget->clearSelection();
}
void FormHead::slotItemClicked(QTableWidgetItem* item)
@ -238,6 +252,8 @@ void FormHead::slotItemClicked(QTableWidgetItem* item)
if(row>=0 && column>=0)
{
PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column);
//取消其他表格的选中状态
emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID);
}
}
}
@ -252,6 +268,8 @@ void FormHead::onItemSelectionChanged()
if(row>=0 && column>=0)
{
PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column);
//取消其他表格的选中状态
emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID);
}
}
}
@ -272,6 +290,8 @@ void FormHead::onItemChanged(QTableWidgetItem* item)
if(row>=0 && column>=0)
{
PropertyService()->initHeadProperty(this, ui->tableWidget, item, row, column);
//取消其他表格的选中状态
emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID);
}
}
}
@ -488,6 +508,8 @@ void FormHead::Paste()
item->setData(Qt::UserRole+2, pixmap.width()/g_dPixelPerCm); //图例宽
item->setData(Qt::UserRole+3, pixmap.height()/g_dPixelPerCm); //图例高
PropertyService()->initHeadProperty(this, ui->tableWidget, item, rowN, colN);
//取消其他表格的选中状态
emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID);
return;
}

View File

@ -49,6 +49,9 @@ public slots:
void slotItemClicked(QTableWidgetItem* item);
void onItemChanged(QTableWidgetItem* item);
void onItemSelectionChanged();
//图头、成果表
//取消其他表格的选中状态
void s_UnSelectTableItem(QString strUuid);
//图头右键菜单响应函数
void slotContextMenu(QPoint pos);

View File

@ -64,8 +64,16 @@ void FormMultiHeads::slotContextMenu(QPoint pos)
{
QtCommonClass *qtCommon = new QtCommonClass(this);
//
QString strMenu= "";
if(m_strHeadOrTail == "Head")
{
strMenu= "新建图头";
}
else {
strMenu= "新建成果表";
}
QMenu menu(ui->tableWidget);
QAction *newAction = menu.addAction("新建图头");
QAction *newAction = menu.addAction(strMenu);
// 弹出菜单
QAction *selectedAction = menu.exec(ui->tableWidget->mapToGlobal(pos));
if (selectedAction == newAction) {

View File

@ -27,6 +27,8 @@ public slots:
public:
void resizeItem(QString indexID, double tempWidth, double tempHight);
public:
QString m_strHeadOrTail = ""; //Head代表图头 Tail代表成果表
};
#endif // FORMMULTIHEADS_H

View File

@ -141,12 +141,13 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
//执行压缩/拉伸
connect(CallManage::getInstance(), SIGNAL(sig_EShiftDepth(QString, QString, int, QList<double>, QList<double>)), this, SLOT(s_EShiftDepth(QString, QString, int, QList<double>, QList<double>)));
//图头
//图头----------
m_dock1=new QDockWidget(tr(""),this);
m_dock1->setFeatures(QDockWidget::NoDockWidgetFeatures);//QDockWidget::DockWidgetMovable
//dock1->setAllowedAreas(Qt::TopDockWidgetArea);
//
m_formMultiHeads = new FormMultiHeads(this);
m_formMultiHeads->m_strHeadOrTail = "Head";
m_dock1->setWidget(m_formMultiHeads);
addDockWidget(Qt::TopDockWidgetArea,m_dock1);
//移除标题栏
@ -157,6 +158,23 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
//隐藏
m_dock1->hide();
//成果表----------
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";
m_dock2->setWidget(m_formMultiTails);
addDockWidget(Qt::BottomDockWidgetArea,m_dock2);
//移除标题栏
QWidget* lTitleBar_Tails = m_dock2->titleBarWidget();
QWidget* lEmptyWidget_Tails = new QWidget();
m_dock2->setTitleBarWidget(lEmptyWidget_Tails);
delete lTitleBar_Tails;
//隐藏
m_dock2->hide();
//属性编辑器
// m_propertyWidget = PropertyService();
// m_propertyWidget->setWindowTitle("属性编辑器");
@ -2290,9 +2308,11 @@ void MainWindowCurve::s_showHeadTable()
if(m_dock1->isVisible())
{
m_dock1->hide();
m_dock2->hide();
}
else {
m_dock1->show();
m_dock2->show();
}
// if(ui->tableWidget->isVisible())

View File

@ -67,7 +67,9 @@ public:
QVector<CurveLine*> m_mergeLineList;
FormMultiHeads *m_formMultiHeads;
FormMultiHeads *m_formMultiTails;
QDockWidget *m_dock1;
QDockWidget *m_dock2;
QtProjectWidgets *m_leftWidgets = NULL; //左侧工程区
QLineEdit *spinbox1;

View File

@ -454,7 +454,15 @@ QScrollArea{
border:0px;
}
QTreeView,QListView,QTableView,QTabWidget::pane{
QTableView{
border:1px solid #B6B6B6;
selection-background-color:#F6F6F6;
selection-color:#57595B;
alternate-background-color:#F6F6F6;
gridline-color:#B6B6B6;
}
QTreeView,QListView,QTabWidget::pane{
border:1px solid #B6B6B6;
selection-background-color:#F6F6F6;
selection-color:#57595B;