【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 ?

相关推荐
红烧code3 小时前
【Rust GUI开发入门】编写一个本地音乐播放器(7. 制作歌词显示面板)
rust·gui·slint
JordanHaidee8 小时前
【Rust GUI开发入门】编写一个本地音乐播放器(13. 实现按键绑定)
rust
JordanHaidee8 小时前
【Rust GUI开发入门】编写一个本地音乐播放器(14. 应用打包-制作安装程序)
rust
JordanHaidee9 小时前
【Rust GUI开发入门】编写一个本地音乐播放器(12. 国际化应用-多语言支持)
rust
红烧code1 天前
【Rust GUI开发入门】编写一个本地音乐播放器(4. 绘制按钮组件)
rust·gui·svg·slint
朝阳5811 天前
使用过程宏实现自动化新增功能
后端·rust
JordanHaidee1 天前
【Rust GUI开发入门】编写一个本地音乐播放器(8. 从文件中提取歌曲元信息)
rust
清心9151 天前
Windows系统Rust安装与配置,解决安装慢问题
rust
清心9151 天前
Windows系统Rust安装,自定义安装目录
rust