#include "comparefile.h"
#include "ui_comparefile.h"
CompareFile::CompareFile(QWidget *parent)
: QWidget(parent)
, ui(new Ui::CompareFile)
{
ui->setupUi(this);
ui->file_text1->setPlaceholderText("在这里输入路径");
ui->file_text2->setPlaceholderText("在这里输入路径");
}
CompareFile::~CompareFile()
{
delete ui;
}
void CompareFile::getFilesInfo(Model m)
{
if(m_path.isEmpty())
return;
m_fileNames1.clear();
m_fileNames2.clear();
QStringList fileNames = m_md5.getFiles(m_path);
for(int i=0;i<fileNames.size();i++)
{
QString fileNamePath = fileNames[i];
QString md5 = m_md5.getFileMd5(fileNamePath);
if(m == Model::FILE1)
{
m_map1[fileNamePath] = md5;
m_fileNames1.append(fileNamePath);
}else if(m == Model::FILE2)
{
m_map2[fileNamePath] = md5;
m_fileNames2.append(fileNamePath);
}
}
}
/*
打开文件1
*/
void CompareFile::on_btn_open_1_clicked()
{
ui->listWidget1->clear();
m_compareNames.clear();
QString path = m_md5.openDirectory();
m_path = path;
getFilesInfo(Model::FILE1);
//数据展示到界面
ui->file_text1->setText(path);
ui->listWidget1->addItems(m_fileNames1);
}
/*
打开文件2
*/
void CompareFile::on_btn_open_2_clicked()
{
ui->listWidget2->clear();
m_compareNames.clear();
QString path = m_md5.openDirectory();
m_path = path;
getFilesInfo(Model::FILE2);
ui->file_text2->setText(path);
ui->listWidget2->addItems(m_fileNames2);
}
/*
比较文件
*/
void CompareFile::on_btn_compare_clicked()
{
for(QMap<QString,QString>::iterator iter=m_map1.begin();iter!=m_map1.end();iter++)
{
for(QMap<QString,QString>::iterator iter2=m_map2.begin();iter2!=m_map2.end();iter2++)
{
if(iter.value() == iter2.value())
{
m_compareNames.append(iter2.key());
}
}
}
for(int i=0;i<ui->listWidget2->count();i++)
{
if(!m_compareNames.contains(ui->listWidget2->item(i)->text()))
{
ui->listWidget2->item(i)->setTextColor(QColor("red"));
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Qt5.9 文件比较工具
共8个文件
cpp:3个
h:2个
pro:1个
需积分: 5 5 下载量 35 浏览量
2022-09-21
10:02:40
上传
评论
收藏 7KB ZIP 举报
温馨提示
目前具备检测文件夹下文件是否被修改的功能,以及比较两个文件夹下文件的不同。
资源详情
资源评论
资源推荐
收起资源包目录
CompareFiles-master.zip (8个子文件)
CompareFiles-master
comparefile.h 767B
compareFiles.pro.user 40KB
filecalltomd5.cpp 2KB
comparefile.ui 2KB
compareFiles.pro 1KB
main.cpp 174B
comparefile.cpp 2KB
filecalltomd5.h 414B
共 8 条
- 1
weixin_44598265
- 粉丝: 3
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0