clipboard — 剪贴板

向系统剪贴板写入文本。

self.clipboard 提供系统剪贴板写入能力。所有插件类型可用(需声明 clipboard 权限)。

方法

set_text(text, callback?)

将文本写入系统剪贴板。

self.clipboard.set_text("hello world")

参数:

  • text (str) — 要写入剪贴板的文本
  • callback (callable, 可选) — 完成后的回调

回调数据: 无(仅用于确认操作完成)

调用 set_text 后文本会替换剪贴板中的原有内容,该操作覆盖系统剪贴板,请仅在用户主动触发时使用。

若传入 callback,它以关键字参数形式调用(如 callback(data=..., error=...))。未传入 callback 时,结果会被直接丢弃。回调运行在 Bridge 线程(非主/UI 线程),回调内不应直接操作 UI。

使用示例

class MyPlugin(UiPlugin):
    def _copy_path(self):
        self.clipboard.set_text(
            str(self.path.plugin()),
            callback=lambda **cb: self._copied(cb),
        )

    def _copied(self, result):
        if result.get("error"):
            self.message.error("复制失败")
        else:
            self.message.success("路径已复制到剪贴板")

适用场景

  • 复制串口输出、日志片段或配置文件内容
  • 复制生成的数据表、代码片段或设备信息
  • 配合 dialog.open_folder 等交互将结果写入剪贴板

On this page