导入单张图片
新建动作
点击【新建】
弹出新建动作窗口
填写内容
转到槽
/**
* @brief 页码项右键-删除图像
*/
void MainWindow::on_action_import_triggered()
{
}
编写槽函数
/**
* @brief 页码项右键-导入单张图片
*/
void MainWindow::on_action_import_triggered()
{
// 弹出文件对话框
QString filePathFrom = QFileDialog::getOpenFileName(this, tr("文件对话框!"), "D:", tr("图片文件(*png *jpg);"));
qDebug() << "文件源路径 :" << filePathFrom;
// 选中文件路径
QTreeWidgetItem *fileItem = ui->treeWidget_DocFile->currentItem();
QString filePathTo = m_docdirmgt->getFileItemPathOrig(fileItem);
qDebug() << "文件目标路径 :" << filePathTo;
// 复制文件
safeCopyFile(filePathFrom, filePathTo);
// 更新页码项文本
int inPageNo = m_docdirmgt->getFileItemInPageNo(fileItem);
int inPageNum = m_docdirmgt->getFileItemInPageNum(fileItem);
m_currentPageNo = inPageNo;
qDebug() << "当前页码数 inPageNo :" << inPageNo;
qDebug() << "总页码数 inPageNum :" << inPageNum;
QString title;
title.sprintf("第%d页(已扫描)", m_currentPageNo);
fileItem->setText(0, title);
// 更新页码项状态
m_docdirmgt->setFileItemStatus(fileItem, ITEM_FILE_STATUS_SCANED);
// 更新页码项对应ini文件
setConfigInfo(m_docdirmgt->getFileItemBaseDir(fileItem), m_docdirmgt->getFileItemFileName(fileItem), ITEM_FILE_STATUS_SCANED);
// 刷新页码项
refreshFileItemStatus(fileItem);
// 显示图片
openImageFromItem(fileItem);
}
配置右键菜单
/**
* @brief 页码项右键
* @param pos 横纵坐标QPoint对象
*/
void MainWindow::on_treeWidget_DocFile_customContextMenuRequested(const QPoint &pos)
{
QTreeWidgetItem *curFileItem = ui->treeWidget_DocFile->itemAt(pos);
if (nullptr == curFileItem) {
return;
} else {
QMenu menu;
// 导入单张图片
menu.addAction(ui->action_import);
menu.exec(QCursor::pos());
}
}