register_key_action_callback
函数用于注册按键操作回调函数。用户可以通过按下特定按键来触发自定义的操作。
register_key_action_callback(
key: int,
callback: Callable[..., None],
description: str = ''
) -> int
函数参数:
key
: int类型,表示按键代码。callback
: 回调函数,定义为Callable[..., None]
类型,接受任意数量和任意类型的参数,返回值为空。description
: 可选参数,表示回调函数的描述信息。返回值:int类型,表示回调ID,可以用于后续注销回调。
回调函数接受以下参数:
vis
: VisualizerWithKeyCallback对象,表示当前的可视化窗口。action
: int类型,表示按下的按键。注册的回调函数会在每次用户按下注册的按键时被调用。
示例代码:
from open3d.visualization import gui, rendering
def my_callback(vis: rendering.VisualizerWithKeyCallback, action: int):
if action == gui.LEFT_ARROW:
print("Left arrow key pressed!")
elif action == gui.RIGHT_ARROW:
print("Right arrow key pressed!")
vis = rendering.VisualizerWithKeyCallback()
vis.create_window()
vis.register_key_action_callback(gui.LEFT_ARROW, my_callback, "Move left")
vis.register_key_action_callback(gui.RIGHT_ARROW, my_callback, "Move right")
vis.run()
参考链接:Open3D Visualization Documentation - VisualizerWithKeyCallback