有API可以使应用程序主动切换主题么

您好,我是一个开发者,现在正在开发一款软件基于桌面版麒麟系统,麒麟的ui做的很好,在使用QT开发系统的时候发现基本可以不用美化。但是遇到了一个问题是,使用的是麒麟自带的qt,我现在切换操作系统的主题时,明亮主题和暗黑主题我的软件都会跟着变,我如何主动切换主题,能做到与操作系统自带的应用商店一样的效果呢,如下图,是有Api么还是通过什么方式


@llideong @果冻Swiftie

应该有吧,qq会变就算了,居然火狐也会跟着变

与应用商店一样的效果具体是指啥效果嘞

应用商店的效果是这样,对比着我发的图片来说
1、选择【主题-自动】,就会跟随着系统的亮色模式和夜间模式进行变化,我开启夜间模式就变黑,开启亮色模式就变白。
2、选择【主题-浅色模式】,一直是白色,不会跟随着系统夜间模式的变化而变化
3、选择【主题-深色模式】,一直是黑色,不会跟随着系统夜间模式的变化而变化

应用商店的效果是这样,对比着我发的图片来说
1、选择【主题-自动】,就会跟随着系统的亮色模式和夜间模式进行变化,我开启夜间模式就变黑,开启亮色模式就变白。
2、选择【主题-浅色模式】,一直是白色,不会跟随着系统夜间模式的变化而变化
3、选择【主题-深色模式】,一直是黑色,不会跟随着系统夜间模式的变化而变化

主题是用的gsetting切的,gsettings get org.ukui.style style-name,可以自己监听这个信号然后手动处理下,黑白主题对应的ukui-white与ukui-dark,目前好像暂时还没有能直接用的接口

这只满足了我能检测到系统现在系统是什么主题吧,我想主动切换主题该怎么弄呀,比如我有个设置按钮,一点击变成黑色主题,但不影响系统的主题,只是我开发的APP进行变化

监听以后自己设置,用qApplication::setStyle(“ukui-dark”);