我正在使用TkInter中的Text Widget功能来保存"行/段落并附加到列表中。
with open(fname1, "rt", encoding='latin1') as in_file:
readable_file = in_file.read()
line_list = []
def grab_line(event):
line_beginning = textPad.index("current linestart")
line_ending = textPad.index("current lineend")
line = textPad.get(line_beginning, line_ending)
line_list.append(line)
root = Tk()
frame = Frame(root, width=750, height=1)
root.minsize(600,600) # sets the size of the actual window
frame.pack()
text = Text(root)
text.insert(1.0, readable_file)
text.bind('<Button-1>', grab_line)
root.mainloop()
无论如何确保我没有选择两次相同的段落?也许有一个TkInter函数......
否则,人们会检查列表/词典内容并删除是否有重复项。
答案 0 :(得分:0)
我要做的是在选定的文本块上添加标签。然后,您可以检查该标记的存在。您还可以使用标记突出显示代码,以便用户知道他们已经点击了它。
# this step is optional; you don't have to configure a tag
# before adding it to a range of text
text.tag_configure("already_selected", background="yellow")
...
text.tag_add("already_selected", line_beginning, line_ending)
要检查标记是否适用于他们点击的位置,请使用tag_names
方法。例如:
if "already_selected" in text.tag_names("current"):
...