从插件中读取当前Qt创建者主题



Qt Creator有一个插件,它的UI只是一个ActiveX。

问题是,如果用户更改了Qt Creator主题,ActiveX就不会反映出来

这就是为什么我需要将有关颜色的信息传递给ActiveX,但为此,插件必须读取主题颜色信息。此外,当当前主题刚刚更改时,需要通知插件。

我在Qt方面绝对是个新手。突然,我还没有找到一个API来阅读主题颜色。

有没有一种方法可以从Qt Creator插件中获取当前的主题颜色,以及如何捕捉主题刚刚更改的时间?

有一个src/libs/utils/theme/theme.h,它包含Utils::Theme类和函数Utils::Theme *Utils::creatorTheme()

让插件依赖于Utils库(使用qmake添加QTC_LIB_DEPENDS += utils,使用CMake将Utils添加到DEPENDS(,并将#include <utils/theme/theme.h>包含在要访问主题的源中。

使用Utils::creatorTheme()获取主题。请注意,这是在Core插件的initialize方法中设置的,因此它在插件的构造函数中不可用,但仅在initialize及更高版本中可用(请参阅插件生命周期(。

然后,您可以在Theme中查询Theme::palette()和其他各种特定于任务的颜色。

主题在运行时不会更改,所以只需在启动时(或稍后需要设置内容时(查询即可。

相关内容

  • 没有找到相关文章

最新更新