registerKeyResolveInfoCallback(widget, callback)
widget
コールバックを登録するウィジェット。 このようなコールバックは、ウィジェット毎に1個しか登録できません。
callback
関数またはバインドされたメソッドなどのコール可能なPythonオブジェクト。 Houdiniは、このウィジェットを含んだ階層に対してキー解決情報を構築する必要が出てきた時にこの関数をコールします。
このコールバックは、シンボルcontexts下のコンテキストのリストを含んだ辞書を返す必要があります。
将来の変更に備えてすべてのキーワード引数が受けいられるように、引数リストに**kwargsを追加することができます:
def key_resolve_info_callback(**kwargs): return {'contexts':['foo','bar']}
widgetに既にコールバックが登録されていれば、hou.OperationFailedが引き起こされます。
以下の例では、ウィジェットサブクラスのコールバックのセットアップ方法について説明しています:
class MyWidget(QtWidgets.QWidget): def __init__(self): super().__init__() hou.qt.registerKeyResolveInfoCallback(self, self.key_resolve_info_callback) def __del__(self): hou.qt.unregisterKeyResolveInfoCallback(self) super().__del__() def key_resolve_info_callback(self, **kwargs): return {'contexts':['foo', 'bar']}
hou.qt.unregisterKeyResolveInfoCallback()とhou.qt.resolveKeyEvent()も参照してください。