私はタスクのためにIDLEを使用していたときにこれを最初に気付きましたが、自分自身のtkinterプログラムにも表示されます。多くのキーボードには、スペースバーの行の横にある通常の矢印キーと、キーパッドの矢印キーの2組の矢印キーがあります。これは、numlockがオンになっているときに番号入力キーとして機能します。 tkinterでは、2つのセットが押されると、異なるイベント名が生成されます。他の矢印キーと同じようにnumpadの矢印を扱うようにする
私の問題は、TextやEntryなどのさまざまな組み込みのtkinterウィジェットを使用すると、デフォルトのtkinterの動作がキーパッドイベントを無視するように見えるということです。私のプログラムは両方のセットを同じように扱いたいと思っています。
私はそれをインポートした後に変数を設定するか、KP_ *イベントを関数にバインドして対応する通常の矢印キーイベントをmyに戻すなど、比較的簡単な方法で実装したいと考えていますウィジェット。しかし、私が発見した唯一のことは、このクールークの存在を認めてさえも、this、他の、答えられていない、Stack Overflowの質問です。
10キーが押されたときに、キーの上矢印は「KP_Up」のようなもので、通常の上矢印は単にevent.keysymの「上」です。これはあなたに良い答えを探すのに十分なことを願っています。 keysymとkeycodesのリストは、p65と66(フランス語)のhttp://ateliers.mse.free.fr/tkinter/tkinter-ref5.pdf –
にあります。例えば、複数のキーイベントをEntryにバインドすることができます同じ機能に任意のキーイベントをキャプチャし、プログラムが応答するイベントをフィルタすることもできます。簡単な例が役に立ちます。テキストの1行上に10個の上向きの矢印キーが必要な場合は、自分でプログラムする必要があります。つまり、カーソルを1行上に移動する必要があります。 –
ありがとうございます、私はKP_arrow対矢印イベント名を認識しています。ウィジェットの内部状態にアクセスする方法について別の質問(質問する前に調べる必要があります)につながりますが、私はウィジェット状態の変更についてプログラミングを検討しました。 – Nick