dialog — 文件夹选择
打开系统文件夹选择对话框。
self.dialog 提供文件夹选择对话框。所有插件类型可用(需声明 dialog 权限)。
方法
open_folder(title?, initial_directory?, callback?)
打开系统文件夹选择对话框,用户选择后通过回调返回路径。
self.dialog.open_folder(
title="选择项目目录",
initial_directory="/home/user",
callback=lambda **cb: print(cb.get("path", "")),
)参数:
title(str, 可选) — 对话框标题initial_directory(str, 可选) — 对话框打开时的初始目录callback(callable, 可选) — 选择完成后的回调
回调数据: {"path": "用户选择的目录路径"}
回调以关键字参数形式调用,例如 callback(path=...)。若用户取消选择,path 可能为空。
使用示例
class MyPlugin(UiPlugin):
def _pick_folder(self):
self.dialog.open_folder(
title="选择工作目录",
callback=lambda **cb: self._on_folder_picked(cb.get("path", "")),
)
def _on_folder_picked(self, path):
if path:
self.message.info(f"已选择: {path}")
# 使用选择的路径回调运行在 Bridge 线程(非主/UI 线程),回调内不应直接操作 UI。