我希望用户只需使用鼠标左键就能将tkinter中文本小部件中的文本复制到剪贴板。如下所示:用户使用鼠标左键单击文本,选中了文本小部件中的整个文本(窗口中带有蓝线),并将其自动复制到剪贴板。
我尝试了frame.bind方法和剪贴板_append,但都失败了
我尝试了2种选择:
带剪贴板的选项1,该选项可在背景中使用(在单击按钮时复制文本,而不是在用户单击文本时复制文本,也没有像在Windows中那样用蓝线选择文本,因此用户不知道文本是被复制的,它只是在用户不知道的情况下在后台复制文本):
field_value = self.txt.get("1.0", 'end-1c') # get field value from event, but remove line return at end
txt_frm.clipboard_clear() # clear clipboard contents
txt_frm.clipboard_append(field_value) # append new value to clipbaord
对按钮具有绑定方法的选项2,该选项根本不起作用:
def copy_text_to_clipboard(event):
field_value = event.widget.get("1.0", 'end-1c')
window.clipboard_clear() # clear clipboard contents
window.clipboard_append(field_value) # append new value to clipbaord
text_field.bind("<Button-1>", copy_text_to_clipboard)
答案 0 :(得分:0)
尝试此方法:
def select_all(event=None):
text_field.select_range(0, END)
return "break"
text_field.bind('<Button-1>', select_all)