テキストのパターン マッチングを行う小さなユーティリティを Python で作成しています。ユーザーが入力したパターンに一致するテキストは、黄色で強調表示されます。
私は Tkinter ウィジェットを使用してこれを達成し、タグ名を持つテキストに黄色の背景 を与えるText
という名前の Text ウィジェットにタグを設定しています。"match"
"match"
マウスを使用してテキストを強調表示しようとする場合 (たとえば、コピー/貼り付けする場合) を除いて、これはすべて見栄えがします。マウスでテキストを強調表示すると、既に黄色の背景を持つタグ付きテキストは、強調表示された後でも黄色の背景を保持します。これは、黄色の背景に白いテキスト (マウスでハイライトするとテキストが白くなる) はコントラストが悪いため、マウスでハイライトしたときにテキストを正しく読み取ることができないことを意味します。
マウスを使用して Text ウィジェットのテキストを強調表示すると、すべてのテキストが、セクションを強調表示するときに Windows マシンで通常取得する標準の青色の背景色/白色のテキスト色になります。テキストの。
私が何を意味するかを示すための簡単なコードスニペットを次に示します。
from tkinter import *
root = Tk()
w = Text(root)
w.tag_config("match",background="yellow")
w.config(highlightbackground="red")
w.pack()
w.insert(INSERT,"some non-matching text.")
w.insert(INSERT,"some matching text.","match")
root.mainloop()
これを実行し、テキスト ウィジェット内のすべてのテキストを強調表示すると、背景が黄色のテキストが非常に読みにくくなることがわかります。
上記のコード スニペットでは、次を使用してハイライトの背景色を変更しようとしたことに注意してください。
w.config(highlightbackground="red")
しかし、これはうまくいきませんでした。