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。

On this page