有没有办法突出显示两个字符串(文本框)之间的差异?

时间:2018-10-23 20:34:32

标签: python tkinter

我正在使用Python / Tkinter创建一个GUI,在这里我需要并排显示两个文件中的代码并突出显示它们之间的差异。我可以通过单击按钮填充代码,但无法找到突出显示不同颜色差异的方法。

我尝试了 difflib.ndiff 和多种类似的方法,但是似乎没有任何效果。感谢在这方面的任何帮助或建议。

txt_a.tag_config("bt1", font=("Georgia", "12", "bold"), background="red")
txt_b.tag_config("bt2", font=("Georgia", "12", "bold"), background="red")

op_list = [li for li in difflib.ndiff(a, b) if li[0] != ' ']
print(op_list)

for i in op_list:
    print(str(i))
    txt_a.tag_add("bt1", str(i), str(i+1))
    txt_b.tag_add("bt2", i, END)

我无法获得所需的输出。比较多行字符串a和b,获取op_list中的差异,并需要在文本小部件上突出显示它们(字符或行)。你能帮忙吗?

0 个答案:

没有答案