configuration — 配置
读取和更新 Manifest 声明的配置值。
self.configuration 提供配置读写能力,用于读取和更新插件在 Manifest 中声明的配置项(需声明 configuration 权限)。
方法
| 方法 | 说明 |
|---|---|
get(configuration_id, *, callback?) | 读取指定配置项 |
set(configuration_id, value, *, callback?) | 更新指定配置项 |
list(*, callback?) | 列出所有配置项 |
on_changed(handler, *, configuration_id?) | 订阅配置变更 |
get(configuration_id, *, callback?)
读取指定 ID 的配置值。
self.configuration.get("baud_rate", callback=lambda **cb: print(cb.get("value")))参数:
configuration_id(str) — 配置项 IDcallback(callable, 可选) — 读取结果回调
set(configuration_id, value, *, callback?)
更新指定 ID 的配置值。
self.configuration.set("baud_rate", 115200)参数:
configuration_id(str) — 配置项 IDvalue(Any) — 新的配置值callback(callable, 可选) — 更新结果回调
list(*, callback?)
列出当前插件声明的所有配置项。
self.configuration.list(callback=lambda **cb: print(cb.get("data")))on_changed(handler, *, configuration_id?)
订阅配置变更事件,返回一个 Subscription(订阅于 configuration.changed 主题)。
sub = self.configuration.on_changed(
self._on_config_changed,
configuration_id="baud_rate",
)
def _on_config_changed(self, event):
print(event.get("id"), event.get("value"))参数:
handler(callable) — 变更处理器,接收事件字典configuration_id(str, 可选) — 仅监听指定配置项;不传则监听所有配置项
处理器收到的事件字典形如 {id, value, pluginId, ...}。订阅对象支持 .dispose() 和 .disposed 属性(参见 events 文档)。
使用示例
class MyPlugin(UiPlugin):
def on_start(self):
self.configuration.get(
"baud_rate",
callback=lambda **cb: self._apply(cb.get("value")),
)
self.sub = self.configuration.on_changed(
self._on_changed,
configuration_id="baud_rate",
)
def on_dispose(self):
self.sub.dispose()
def _on_changed(self, event):
self.message.info(f"配置已更新: {event.get('value')}")