【Rust GUI开发入门】编写一个本地音乐播放器(11. 支持动态明暗主题切换)

本系列教程对应的代码已开源在 Github zeedle

暗色主题 亮色主题

Slint UI内置全局调色板,支持运行时动态切换明暗主题,这通过更改Palette.color-scheme来实现:

  • Palette.color-scheme = ColorScheme.light变为亮色主题
  • Palette.color-scheme = ColorScheme.dark则变为暗色主题

把上述代码放入UI主窗口的function/callback中,通过用户点击按钮触发调用:

slint 复制代码
public function set_light_theme(yes: bool) {
	if (yes) {
		Palette.color-scheme = ColorScheme.light;
	} else {
		Palette.color-scheme = ColorScheme.dark;
	}
}

注意

在Slint UI最新版本(1.13.1)中,ColorScheme无法导出到Rust中使用,因此,在function/callback中实现主题切换是推荐做法,在Rust代码中无法实现该功能,参考如下Github讨论:

How to access/change value of global predefined Palette variable in Rust API ?

相关推荐
Zhangzy@19 小时前
pip安装Transformers / tokenizers 报错(Failed building wheel for tokenizers)
rust·pip
雷中听风1 天前
使用字节的源安装rust
开发语言·后端·rust
万法若空1 天前
【wxWidgets教程】控件基础知识
c++·gui·wxwidgets·事件处理
简单点好不好2 天前
2025-简单点-从0开始学Rust-更新
rust
余俊晖2 天前
从豆包手机等看GUI Agent:MobileRL GUI Agent训练框架和安卓XML预处理
人工智能·语言模型·自然语言处理·gui
EniacCheng3 天前
【RUST】学习笔记-整型
笔记·学习·rust
小灰灰搞电子4 天前
Rust可以取代C++么?
开发语言·c++·rust
百锦再4 天前
京东云鼎入驻方案解读——通往协同的“高架桥”与“快速路”
android·java·python·rust·django·restful·京东云
异步思考者4 天前
Rust实战:一个内存消息队列的 Trait 驱动开发
rust
受之以蒙4 天前
智能目标检测:用 Rust + dora-rs + yolo 构建“机器之眼”
人工智能·笔记·rust