で働いていない、と私はCMD + (またはすべてのコマンドを選択します)が有効になっていないことに気づきました。CMD +は、私はTkinterのを使用して、基本的なUIを構築されてきたTkinterのエントリ
tkinterのすべてのショートカットを特に入力テキストフィールドで有効にする方法を教えてください。
これは私のコードです:
entry1 = ttk.Entry(root, width = 60)
entry1.pack()
で働いていない、と私はCMD + (またはすべてのコマンドを選択します)が有効になっていないことに気づきました。CMD +は、私はTkinterのを使用して、基本的なUIを構築されてきたTkinterのエントリ
tkinterのすべてのショートカットを特に入力テキストフィールドで有効にする方法を教えてください。
これは私のコードです:
entry1 = ttk.Entry(root, width = 60)
entry1.pack()
@Goyoはもうあなたの質問に答えました。私は、Entryウィジェットのテキストのテキストを選択し、それ以外の何もしないことに興味がないので、投稿を共有したいと思います。だから私はどのようにあなたがそれを削除するかb)のa)のいずれかを使用する予定であることを示す汚れたMCVEを提供するつもりですあなたはそれをコピーします。 A)、次の関数は、仕事をするについては
:
def select_text_or_select_and_copy_text(e):
e.widget.select_range(0, 'end')
それはあなたがエントリウィジェットに関数の名前が記載された対応するイベントの結合条件の下で動作します:
entry.bind('<Control-a>', select_text_or_select_and_copy_text)
entry.bind('<Control-c>', select_text_or_select_and_copy_text)
を :
)Bに対しては、この機能を使用することができます0
とエントリウィジェットにDelete
イベントバインド:私はUbuntuのにこのMCVEを試してみました
entry.bind('<Delete>', delete_text)
をし、それが動作します:むしろ
import tkinter as tk
import tkinter.ttk as ttk
def select_text_or_select_and_copy_text(e):
e.widget.select_range(0, 'end')
def delete_text(e):
e.widget.delete('0', 'end')
root = tk.Tk()
entry = ttk.Entry(root)
entry.pack()
entry.bind('<Control-a>', select_text_or_select_and_copy_text)
entry.bind('<Control-c>', select_text_or_select_and_copy_text)
entry.bind('<Delete>', delete_text)
root.mainloop()
Tkinterのはあなたがキーボードイベントを結合することによって、独自に定義することができますしたいshorcutsを定義していない場合。
import tkinter as tk
import tkinter.ttk as ttk
def callback(ev):
ev.widget.select_range(0, 'end')
root = tk.Tk()
entry = ttk.Entry(root)
entry.pack()
entry.bind('<Command-a>', callback)
root.mainloop()
私はCommand
はCMDキーの正しい接頭辞であると思いますが、私はテストするためのMacを持っていません。ウィンドウでは、コントロールキーにバインドされます。
''(Ubuntuの上でテスト) –
@ BillalBEGUERADJ私はcmd + aがMac用であると推測しています。 ''と ''はWindowsでも同じように動作するようですが、Macではどのように動作するのか分かりません。 interwebsにあるアドバイスは、「」を使用することを示唆しています。 –
Goyo
あなたは正しいです、それは事実かもしれません。 –