主题系统(Theme)
概述
RinUI 提供了一个轻量的主题管理器。
仅需import RinUI,即可立即获得全局主题支持。主题系统默认以单例pragma Singleton的形式存在,适用于整个应用的风格切换与一致性维护。
您可以像这样使用主题Theme系统:
qml
import RinUI
Component {
Component.onCompleted: {
Theme.function()
}
}主题模式
setTheme(mode: Theme.mode)
setTheme函数用于切换 RinUI 全部组件的深浅色主题。该函数接受以下值:
Theme.mode.Light:切换为浅色主题Theme.mode.Dark:切换为深色主题Theme.mode.Auto:自动切换主题,根据当前系统的主题模式决定切换为浅色或深色主题
toggleTheme()
toggleTheme函数用于切换当前主题的模式。如果当前模式为浅色,则切换为深色;反之亦然。
getTheme() -> str
getTheme函数用于获取当前主题的模式。函数会返回下列值:
"Light":当前主题为浅色"Dark":当前主题为深色"Auto":当前主题为自动模式
setThemeColor(color: str)
setThemeColor函数用于设置 RinUI 组件的主题色。该函数接受一个十六进制的颜色值,例如#FF0000代表红色。
getThemeColor() -> str
getThemeColor函数用于获取当前组件的主题色。函数会返回十六进制的颜色值。
背景效果
NOTE
背景效果的设置仅在 Windows 平台上有效,且部分效果需要 Windows 11 及以上版本。
| 效果 | 支持的系统版本 |
|---|---|
| Mica | > Windows 11 |
| Acrylic | >= Windows 10 |
| Tabbed | > Windows 11 |
setBackdropEffect(effect: Theme.effect)
setBackdropEffect函数用于设置 RinUI 组件的背景效果。该函数接受以下值:
Theme.effect.Mica:云母背景效果Theme.effect.Acrylic:亚克力背景效果Theme.effect.Tabbed:选项卡背景 (Mica Alt) 效果Theme.effect.None:无背景效果
getBackdropEffect() -> str
getBackdropEffect函数用于获取当前组件的背景效果。函数会返回下列值:
"mica":云母背景效果"acrylic":亚克力背景效果"tabbed":选项卡背景 (Mica Alt) 效果"none":无背景效果