优化图头的拷贝粘贴
This commit is contained in:
parent
34adb5ebd7
commit
25f6ba87c2
|
|
@ -203,6 +203,15 @@ void FormHead::Init(int iRows, int iCols)
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_UnSelectTableItem(QString)), this, SLOT(s_UnSelectTableItem(QString)));
|
connect(CallManage::getInstance(), SIGNAL(sig_UnSelectTableItem(QString)), this, SLOT(s_UnSelectTableItem(QString)));
|
||||||
connect(ui->tableWidget, SIGNAL(cellChanged(int, int)), this, SLOT(slotCellChanged(int, int)));
|
connect(ui->tableWidget, SIGNAL(cellChanged(int, int)), this, SLOT(slotCellChanged(int, int)));
|
||||||
connect(ui->tableWidget, SIGNAL(currentCellChanged(int, int, int, int)), this, SLOT(slotCurrentCellChanged(int, int, int, int)));
|
connect(ui->tableWidget, SIGNAL(currentCellChanged(int, int, int, int)), this, SLOT(slotCurrentCellChanged(int, int, int, int)));
|
||||||
|
//鼠标点击表格
|
||||||
|
connect(ui->tableWidget, SIGNAL(cellClicked(int, int)), this, SLOT(slotCellClicked(int, int)));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormHead::slotCellClicked(int row, int column)
|
||||||
|
{
|
||||||
|
//取消其他表格的选中状态(图头、成果表)
|
||||||
|
emit CallManage::getInstance()->sig_UnSelectTableItem(m_indexID);
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新
|
//更新
|
||||||
|
|
@ -1043,13 +1052,16 @@ void FormHead::keyPressEvent(QKeyEvent * event)
|
||||||
void FormHead::copy()
|
void FormHead::copy()
|
||||||
{
|
{
|
||||||
QMap<int, QList<int>> selMap;//行,列
|
QMap<int, QList<int>> selMap;//行,列
|
||||||
QList<QTableWidgetItem*> list = ui->tableWidget->selectedItems();
|
QModelIndexList list = ui->tableWidget->selectionModel()->selectedIndexes();
|
||||||
if (list.count() <= 0)
|
if (list.size() < 1)
|
||||||
return;
|
|
||||||
for (QTableWidgetItem* item : list)
|
|
||||||
{
|
{
|
||||||
int rowN = ui->tableWidget->row(item);
|
QMessageBox::warning(this, "单元格拷贝", "请选中单元格", "确定");
|
||||||
int colN = ui->tableWidget->column(item);
|
return;
|
||||||
|
}
|
||||||
|
for(auto range:list)
|
||||||
|
{
|
||||||
|
int rowN = range.row();
|
||||||
|
int colN = range.column();
|
||||||
selMap[rowN].append(colN);
|
selMap[rowN].append(colN);
|
||||||
}
|
}
|
||||||
QString cpStr;
|
QString cpStr;
|
||||||
|
|
@ -1058,10 +1070,14 @@ void FormHead::copy()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < (*it).count(); i++)
|
for (int i = 0; i < (*it).count(); i++)
|
||||||
{
|
{
|
||||||
QTableWidgetItem* item = ui->tableWidget->item(it.key(), (*it).at(i));
|
auto myWidget = ui->tableWidget->cellWidget(it.key(), (*it).at(i));
|
||||||
if (item)
|
if(myWidget)
|
||||||
{
|
{
|
||||||
cpStr.append(item->text().trimmed());
|
FormTableItem* formTableItemTmp = (FormTableItem*)myWidget;//获得widget
|
||||||
|
if(formTableItemTmp)
|
||||||
|
{
|
||||||
|
cpStr.append(formTableItemTmp->m_strShowTxt.trimmed());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (i != (*it).count() - 1)
|
if (i != (*it).count() - 1)
|
||||||
cpStr.append("\t");
|
cpStr.append("\t");
|
||||||
|
|
@ -1072,6 +1088,7 @@ void FormHead::copy()
|
||||||
cpStr.append("\n");
|
cpStr.append("\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QApplication::clipboard()->setText(cpStr);
|
QApplication::clipboard()->setText(cpStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1100,9 +1117,6 @@ void FormHead::Paste()
|
||||||
bImg=true;
|
bImg=true;
|
||||||
|
|
||||||
//1.直接采用控件显示
|
//1.直接采用控件显示
|
||||||
FormTableItem* formTableItem = new FormTableItem;
|
|
||||||
formTableItem->m_pixmap = pixmap;
|
|
||||||
ui->tableWidget->setCellWidget(rowN, colN, formTableItem);
|
|
||||||
|
|
||||||
// 保存为PNG文件
|
// 保存为PNG文件
|
||||||
QString strImg = QDateTime::currentDateTime().toString("yyyyMMdd-hhmmsszzz");
|
QString strImg = QDateTime::currentDateTime().toString("yyyyMMdd-hhmmsszzz");
|
||||||
|
|
@ -1128,9 +1142,11 @@ void FormHead::Paste()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
formTableItemTmp->m_pixmap = pixmap;
|
||||||
formTableItemTmp->m_strImg = folderPath; // 图片路径
|
formTableItemTmp->m_strImg = folderPath; // 图片路径
|
||||||
formTableItemTmp->m_colWidth_Img = pixmap.width()/g_dPixelPerCm; //图例宽
|
formTableItemTmp->m_colWidth_Img = pixmap.width()/g_dPixelPerCm; //图例宽
|
||||||
formTableItemTmp->m_rowHeight_Img = pixmap.height()/g_dPixelPerCm; //图例高
|
formTableItemTmp->m_rowHeight_Img = pixmap.height()/g_dPixelPerCm; //图例高
|
||||||
|
formTableItemTmp->update();
|
||||||
|
|
||||||
//
|
//
|
||||||
PropertyService()->initHeadProperty(this, ui->tableWidget, formTableItemTmp, rowN, colN);
|
PropertyService()->initHeadProperty(this, ui->tableWidget, formTableItemTmp, rowN, colN);
|
||||||
|
|
@ -1178,12 +1194,14 @@ void FormHead::Paste()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FormTableItem* formTableItem = new FormTableItem;
|
FormTableItem* formTableItem = new FormTableItem;
|
||||||
|
formTableItem->m_strShowTxt = rowDataList.at(j);
|
||||||
ui->tableWidget->setCellWidget(x, y, formTableItem);
|
ui->tableWidget->setCellWidget(x, y, formTableItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FormTableItem* formTableItem = new FormTableItem;
|
FormTableItem* formTableItem = new FormTableItem;
|
||||||
|
formTableItem->m_strShowTxt = rowDataList.at(j);
|
||||||
ui->tableWidget->setCellWidget(x, y, formTableItem);
|
ui->tableWidget->setCellWidget(x, y, formTableItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,8 @@ public slots:
|
||||||
//cell
|
//cell
|
||||||
void slotCellChanged(int row, int column);
|
void slotCellChanged(int row, int column);
|
||||||
void slotCurrentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn);
|
void slotCurrentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn);
|
||||||
|
//鼠标点击表格
|
||||||
|
void slotCellClicked(int row, int column);
|
||||||
|
|
||||||
//图头、成果表
|
//图头、成果表
|
||||||
//取消其他表格的选中状态
|
//取消其他表格的选中状态
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ FormMultiHeads::~FormMultiHeads()
|
||||||
|
|
||||||
void FormMultiHeads::slotCellClicked(int row, int column)
|
void FormMultiHeads::slotCellClicked(int row, int column)
|
||||||
{
|
{
|
||||||
qDebug() << "FormMultiHeads slotCellClicked";
|
//qDebug() << "FormMultiHeads slotCellClicked";
|
||||||
|
|
||||||
//取消其他表格的选中状态(图头、成果表)
|
//取消其他表格的选中状态(图头、成果表)
|
||||||
emit CallManage::getInstance()->sig_UnSelectTableItem("");
|
emit CallManage::getInstance()->sig_UnSelectTableItem("");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user