我決定開始一個 Tkinter 專案,以更好地了解 Tkinter 并擴展我的知識。我決定做一個記事本,除了我遇到的一個小問題外,我已經設法做到了。我想在 Tkinter 中創建一個自定義快捷方式,它可以幫助我復制長行文本而不必滾動很多。我知道有一些快捷方式,比如Shift用來從游標所在的位置復制,但我想做的是制作我自己的自定義快捷方式。比方說,例如,按下Ctrl Q將復制游標所在的整行或類似的東西。如果可能的話,能夠select在不使用另一個自定義快捷方式復制當前行的情況下,這也是一個不錯的功能。例如,請參見影像:

我已經對這個問題進行了大量研究,但我還沒有找到任何有用的資訊。我不想使用 Windows 中已經存在的快捷方式,因為我想制作自己的自定義快捷方式。問題不在于我如何使用系結功能,問題在于我將如何實際制作一個選擇行并復制它的函式。
謝謝!:)
uj5u.com熱心網友回復:
這很簡單,您只需要使用Text小部件索引,它們提供了強大的功能。在這種情況下最有用的是'insert'and 'linestart','lineend'因為它們很容易允許選擇游標所在的整行。剩下的很簡單:
import tkinter as tk
def copy_line(event=None):
data = text.get('insert linestart', 'insert lineend')
root.clipboard_clear()
root.clipboard_append(data)
def select_line(event=None):
# `sel` is a special tag name that represents the current selection if any
text.tag_add('sel', 'insert linestart', 'insert lineend')
root = tk.Tk()
text = tk.Text(root)
text.pack()
text.bind('<Control-q>', copy_line)
text.bind('<Control-e>', select_line)
root.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/402458.html
標籤:
上一篇:Linux之Nginx入門
