我有一个程序,将突出显示文本框中的一个字,然而,我想能够实现的是,当同一个字被再次点击,然后这个字将被取消高亮显示。这可能吗?下面是一段代码,当一个单词被点击时,它会做一些事情。我希望你能帮忙。你知道吗
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.text = tk.Text(self, wrap="none")
self.text.pack(fill="both", expand=True)
self.text.bind("<ButtonRelease-1>", self._on_click)
self.text.tag_configure("highlight", background="green", foreground="black")
with open(__file__, "rU") as f:
data = f.read()
self.text.insert("1.0", data)
def _on_click(self, event):
self.text.tag_add("highlight", "insert wordstart", "insert wordend")
我尝试使用:
def _on_click(self, event):
self.text.tag_remove("highlight", "1.0", "end")
self.text.tag_add("highlight", "insert wordstart", "insert wordend")
if self.text.tag_names == ('sel', 'highlight'):
self.text.tag_add("highlight", "insert wordstart", "insert wordend")
else:
self.text.tag_remove("highlight", "1.0", "end")
但那没有运气。你知道吗
您可以使用
tag_names
来获取某个索引处的标记列表。然后只需调用tag_add
或tag_remove
,这取决于标记是否出现在当前单词上。你知道吗示例:
相关问题 更多 >
编程相关推荐