从插件读取当前Qt Creator主题
Qt Creator有一个插件,它的UI只是一个ActiveX 问题是,如果用户更改Qt Creator主题,ActiveX不会反映它 这就是为什么我需要将有关颜色的信息传递给ActiveX,但为此,插件必须读取主题颜色信息。此外,当当前主题刚刚更改时,需要通知插件 我绝对是Qt的新手。突然,我没有找到一个API来读取主题颜色从插件读取当前Qt Creator主题,qt,qt-creator,qtplugin,Qt,Qt Creator,Qtplugin,Qt Creator有一个插件,它的UI只是一个ActiveX 问题是,如果用户更改Qt Creator主题,ActiveX不会反映它 这就是为什么我需要将有关颜色的信息传递给ActiveX,但为此,插件必须读取主题颜色信息。此外,当当前主题刚刚更改时,需要通知插件 我绝对是Qt的新手。突然,我没有找到一个API来读取主题颜色 有没有办法从Qt Creator插件中获取当前主题颜色,以及如何捕获主题刚刚更改的时间?有src/libs/utils/theme/theme.h包含utils::the
有没有办法从Qt Creator插件中获取当前主题颜色,以及如何捕获主题刚刚更改的时间?有
src/libs/utils/theme/theme.h
包含utils::theme
类和函数utils::theme*utils::creatorTheme()
让插件依赖于Utils库(使用qmake addQTC_LIB_dependens+=Utils
,使用CMake addUtils
todependens
),并使用包含在要访问主题的源代码中
使用Utils::creatorTheme()
获取主题。请注意,这是在核心插件的initialize
方法中设置的,因此它在插件的构造函数中不可用,只能在initialize
及更高版本中使用(请参阅)
然后,您可以在主题中查询主题::调色板()
和各种其他特定于任务的颜色
主题在运行时无法更改,因此您可以在启动时(或以后需要设置东西时)安全地查询主题。我不确定Qt creator的主题颜色是否使用应用程序调色板系统设置,但请尝试获取QApplication::instance()->palette()
并在那里列出颜色,看看它们是否有意义。否则,您可能希望查看QStyle
机制,看看Qt Creator
是否使用自己的样式。