当前位置: 首页 > wzjs >正文

网站301重定向 权重转移长沙企业关键词优化哪家好

网站301重定向 权重转移,长沙企业关键词优化哪家好,泉州网站制作建设,网站开发能进无形资产吗假如想实现类似VSCode的文件对比功能的话 有个库【diff-match-patch】,可以实现类似的功能。 将库下载下来后,我们只要将其源码cpp文件夹下的diff_match_patch.h, diff_match_patch.cpp这两个文件加到我们工程中 然后自己利用其提供的功能实现一下即可…

假如想实现类似VSCode的文件对比功能的话
在这里插入图片描述

有个库【diff-match-patch】,可以实现类似的功能。
将库下载下来后,我们只要将其源码cpp文件夹下的diff_match_patch.h, diff_match_patch.cpp这两个文件加到我们工程中
在这里插入图片描述

在这里插入图片描述
然后自己利用其提供的功能实现一下即可(使用QTextEdit来显示):

#include "diff_match_patch.h"// 读取文件内容
QString readFile(const QString& filePath) {QFile file(filePath);if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {return QString();}return QString::fromUtf8(file.readAll());
}// 在QTextEdit中显示带颜色标记的差异
void showColoredDiff(QTextEdit* textEdit, const QString& text1, const QString& text2) {diff_match_patch dmp;// 计算差异auto diffs = dmp.diff_main(text1, text2);dmp.diff_cleanupSemantic(diffs);  // 优化差异结果// 准备文本格式QTextCharFormat normalFormat;QTextCharFormat addedFormat;QTextCharFormat removedFormat;addedFormat.setBackground(Qt::green);      // 新增内容绿色背景removedFormat.setBackground(Qt::red);       // 删除内容红色背景removedFormat.setFontStrikeOut(true);       // 删除线// 清空并重置文本编辑器textEdit->clear();QTextCursor cursor(textEdit->document());// 应用差异格式for (const auto& diff : diffs) {qDebug() << diff.toString() << diff.text;switch (diff.operation) {case INSERT:cursor.setCharFormat(addedFormat);cursor.insertText(diff.text);break;case DELETE:{cursor.setCharFormat(removedFormat);QString tmpStr = diff.text;qDebug() << diff.text.endsWith("\n");if(diff.text.endsWith("\n")){tmpStr.replace("\n", "\n ");}cursor.insertText(tmpStr);}break;case EQUAL:cursor.setCharFormat(normalFormat);cursor.insertText(diff.text);break;}}// textEdit->setHtml(dmp.diff_prettyHtml(diffs));
}// 使用示例
void compareFiles(const QString& filePath1, const QString& filePath2, QTextEdit* output) {QString content1 = readFile(filePath1);QString content2 = readFile(filePath2);if (content1.isEmpty() || content2.isEmpty()) {output->setPlainText("Error reading files");return;}showColoredDiff(output, content1, content2);
}// 调用
{QTextEdit edit;compareFiles("main.txt", "main_.txt", &edit);edit.resize(640, 480);edit.show();
}

在这里插入图片描述

这样子就可以体现从a.txt–>b.txt需要发生哪些变化,图上的红色背景表示删除、绿色背景表示增加、白色背景表示不改变。
从他的源码看看
在这里插入图片描述
可以看到,两个文件的内容(字符串),从其中的一个变成另外一个,无非是这三种操作(DELETE, INSERT, EQUAL)的排列组合,
而使用了diff_main之后,便可以得到这些操作的组合:
在这里插入图片描述
然后将这些组合依次组合起来便得到了差异。


参考
【diff-match-patch】

http://www.dtcms.com/wzjs/388973.html

相关文章:

  • 标签在数据库wordpressseo优化师就业前景
  • zblog可以做视频网站吗成人教育机构排行前十名
  • 夸克观看免费视频seo推广教程seo推广技巧
  • 网站开发入门看什么安阳企业网站优化外包
  • 做自媒体在哪个网站好百度云搜索引擎入口 百度网盘
  • 官方网站下载qq最新版重庆森林影评
  • 网站开发实践体会张家港seo建站
  • 山西网站备案多久短视频营销优势
  • 网站设计制作要多少钱深圳网络公司推广平台
  • 海尔网站推广策划方案培训心得简短200字
  • 绍兴做网站哪家好企业网站设计图片
  • 兼职做网站编辑百度图片查找
  • 电子商务网站案例分析广告招商
  • 外包加工网站有哪些百度一下的网址
  • 太原网站建设世纪优创重庆网站seo建设哪家好
  • 媒体网站推广方法阿里云免费域名
  • 西安做网站选哪家重庆今天刚刚发生的重大新闻
  • 五台建设局网站软文案例200字
  • 网站制作分工手机制作网页用什么软件
  • 网站用的服务器广告发布平台
  • 浙江正规网站建设配件如何注册网站
  • 新手站长如何购买虚拟主机做网站今天新疆新闻头条
  • idea建设完整的网站杭州做seo的公司
  • 烟台专业网站建设公司班级优化大师手机版下载
  • 网站建设网页制作软件海外推广方法有哪些
  • 家具做网站正规代运营公司
  • 网站页面建设方案书模板seo优化方式
  • 专门做建筑设计图库的网站设计外链群发
  • 恒锐奇 做网站设计网站模板
  • 给别人做设计的网站江门seo外包公司