私はmatplotlibを使ってインタラクティブなグラフィカルアプリケーションを構築しています。私はそれがデフォルトのmatplotlib GUIの既存の "パン"と "ズーム"機能でうまくいくようにしたいが、いくつかのキーストロークを隠したいと思う。私の問題は、これらのキーストロークに対するGUIのデフォルトの応答を抑制することを知らないことです。例えば、GUIは、歴史の中でバック1つのビューを踏んでバックスペースキーに応答:私は私自身のカスタム動作で、この動作を置き換えたい:matplotlibイベントのさらなる処理を抑制する方法
def KeyUp(event):
if event.key.lower() == 'backspace':
RespondToBackspace()
PreventAnybodyElseRespondingToBackspace() # HOW??
import matplotlib.pyplot as plt
cid = plt.gcf().canvas.mpl_connect('key_release_event', KeyUp)
私はイベント処理をキャンセルするか、抑制することには何のドキュメントを見つけることができず、私の検索用語に創造性がなくなった。具体的には、このメカニズムが他のいくつかのツールキットと同じように機能すると考えて、True
またはFalse
をコールバックから戻してみました。つまり、私のカスタムレスポンスとともに、バックスペースを押す)。
これは可能ですか?上記tacaswellのコメントから
'rcpams ['keymap.back']'に '' backspace''を含めません。返された値は 'cbook.CallbackRegistry.process'で無視されます(これはイベントディスパッチと同じです)。 – tacaswell
さらに、コールバックは辞書に格納され、処理の順序は保証されません。 – tacaswell