了解しました。VSCodeでは、開始ブラケットを使用すると、自動的に終了ブラケットが使用されます。代わりに、これを山かっこにします。どうすればよいですか?例えば:
プレス: <
出力: <>
前もって感謝します!
編集:これを明確にするつもりです。私はこれをTkinterテキストウィジェットで行っています。したがって、を押す<
と>
。が挿入されます。明快さの欠如のためのSoory。
本当に簡単な解決策は、関数をにバインドする<KeyRelease>
ことです。これは、デフォルトのバインディングが実際に文字をウィジェットに挿入した後に起動するためです。または、<KeyPress>
元の開始文字とその終了文字の両方をバインドして挿入を管理することもできます。
どの文字が一致する文字を持っているかを定義する辞書を定義することから始めましょう。この場合、簡単にするために{}と<>を使用します。
matched_pairs = {"{": "}", "<": ">"}
次に、イベントを調べて、辞書にある文字であるかどうかを確認する関数を定義しましょう。一致する文字が見つかった場合は、2つのことを行います。一致する文字を挿入してから、挿入ポイントを1つ戻し、挿入文字が文字のペアの間にあるようにします。
def maybe_insert_matching_pair(event):
matching = matched_pairs.get(event.char, None)
if matching:
event.widget.insert("insert", matching)
event.widget.mark_set("insert", "insert-1c")
最後に、この関数をすべてのキー押下にバインドしましょう。ただし、一致するペアがあることがわかっているキーのみにバインドすることもできます。
the_text_widget.bind('<KeyRelease>', maybe_insert_matching_pair)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加