DtkGui 5.5.23
DTK Gui module
Public 类型 | Public 槽 | 信号 | Public 成员函数 | 静态 Public 成员函数 | Protected 成员函数 | 属性 | 友元 | 所有成员列表
Dtk::Gui::DGuiApplicationHelper类 参考

DGuiApplicationHelper 应用程序的 GUI ,如主题、调色板等. 更多...

类 Dtk::Gui::DGuiApplicationHelper 继承关系图:
Inheritance graph
[图例]
Dtk::Gui::DGuiApplicationHelper 的协作图:
Collaboration graph
[图例]

Public 类型

enum  ColorType { UnknownType , LightType , DarkType }
 
enum  SingleScope { UserScope , GroupScope , WorldScope }
 
enum  Attribute {
  UseInactiveColorGroup = 1 << 0 , ColorCompositing = 1 << 1 , ReadOnlyLimit = 1 << 22 , IsDeepinPlatformTheme = ReadOnlyLimit << 0 ,
  IsDXcbPlatform = ReadOnlyLimit << 1 , IsXWindowPlatform = ReadOnlyLimit << 2 , IsTableEnvironment = ReadOnlyLimit << 3 , IsDeepinEnvironment = ReadOnlyLimit << 4 ,
  IsSpecialEffectsEnvironment = ReadOnlyLimit << 5
}
 
typedef DGuiApplicationHelper *(* HelperCreator) ()
 

Public 槽

void setThemeType (ColorType themeType)
 DGuiApplicationHelper::setThemeType. \obsolete 更多...
 
void setPaletteType (ColorType paletteType)
 设置程序所应用的调色板类型. 更多...
 
void handleHelpAction ()
 Open manual for this application.
 
static void openUrl (const QString &url)
 

信号

void themeTypeChanged (ColorType themeType)
 
void paletteTypeChanged (ColorType paletteType)
 
void newProcessInstance (qint64 pid, const QStringList &arguments)
 
void fontChanged (const QFont &font)
 
void applicationPaletteChanged ()
 

Public 成员函数

 Q_DECL_DEPRECATED_X ("Use UseInactiveColorGroup enum with setAttribute.") static void setUseInactiveColorGroup(bool on)
 
 Q_DECL_DEPRECATED_X ("Use ColorCompositing enum with setAttribute.") static void setColorCompositingEnabled(bool on)
 
DPlatformThemesystemTheme () const
 DGuiApplicationHelper::systemTheme. 更多...
 
DPlatformThemeapplicationTheme () const
 DGuiApplicationHelper::applicationTheme. 更多...
 
D_DECL_DEPRECATED DPlatformThemewindowTheme (QWindow *window) const
 返回窗口级别的主题, 优先级高于 windowTheme 和 systemTheme. 更多...
 
DPalette applicationPalette () const
 返回应用程序调色板. 更多...
 
void setApplicationPalette (const DPalette &palette)
 DGuiApplicationHelper::setApplicationPalette. 更多...
 
D_DECL_DEPRECATED DPalette windowPalette (QWindow *window) const
 DGuiApplicationHelper::windowPalette. 更多...
 
const DFontManagerfontManager () const
 DGuiApplicationHelper::fontManager. 更多...
 
ColorType themeType () const
 返回程序的主题类型. 更多...
 
ColorType paletteType () const
 返回当前已设置的调色板类型. 更多...
 
bool hasUserManual () const
 Determine whether it's a user manual for this application. 更多...
 
- Public 成员函数 继承自 QObject
virtual const QMetaObjectmetaObject () const const
 
 QObject (QObject *parent)
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 

静态 Public 成员函数

static D_DECL_DEPRECATED void registerInstanceCreator (HelperCreator creator)
 创建 DGuiApplicationHelper 对象. 更多...
 
static DGuiApplicationHelperinstance ()
 DGuiApplicationHelper::instance返回 DGuiApplicationHelper 对象 更多...
 
static QColor adjustColor (const QColor &base, qint8 hueFloat, qint8 saturationFloat, qint8 lightnessFloat, qint8 redFloat, qint8 greenFloat, qint8 blueFloat, qint8 alphaFloat)
 调整颜色. 更多...
 
static QImage adjustColor (const QImage &base, qint8 hueFloat, qint8 saturationFloat, qint8 lightnessFloat, qint8 redFloat, qint8 greenFloat, qint8 blueFloat, qint8 alphaFloat)
 调整图片整体像素颜色. 更多...
 
static QColor blendColor (const QColor &substrate, const QColor &superstratum)
 将两种颜色混合,合成新的颜色. 更多...
 
static DPalette standardPalette (ColorType type)
 根据主题获取标准调色板. 更多...
 
static void generatePaletteColor (DPalette &base, QPalette::ColorRole role, ColorType type)
 获取调色板颜色. 更多...
 
static void generatePaletteColor (DPalette &base, DPalette::ColorType role, ColorType type)
 加工调色板的颜色. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.一般我们只会为调色板的 QPalette::Normal 组设置颜色值, 但是 控件中也需要使用其他组的颜色, 此函数使用一些固定规则为 base 填充 QPalette::Disabled 和 QPalette::Inactive 分组的颜色. 不同的颜色类型会使用不同的加工规则, 如果为 LightType 类型, 则将颜色的alpha通道调整为 0.6 后作为 QPalette::Disabled 类的颜色使用, 调整为 0.4 后 作为 QPalette::Inactive 类的颜色使用. 如果为 DarkType 类型, 则将颜色的alpha通道调整为 0.7 后作为 QPalette::Disabled 类的颜色使用, 调整为 0.6 后作为 QPalette::Inactive 类的颜色使用. 更多...
 
static void generatePalette (DPalette &base, ColorType type=UnknownType)
 加工调色板的颜色. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.同 generatePaletteColor, 将直接调用 generatePaletteColor 加工 所有类型的调色板颜色. 更多...
 
static DPalette fetchPalette (const DPlatformTheme *theme)
 获取调色板数据. 更多...
 
static bool isXWindowPlatform ()
 
static bool isTabletEnvironment ()
 用于判断当前桌面环境是否是平板电脑环境. 更多...
 
static bool isSpecialEffectsEnvironment ()
 isAnimationEnvironment 用于判断当前桌面环境是否是开启了动画等特效的环境 更多...
 
static void setAttribute (Attribute attribute, bool enable)
 
static bool testAttribute (Attribute attribute)
 
static ColorType toColorType (const QColor &color)
 获取颜色的明亮度,将其转换为主题类型的枚举值. 更多...
 
static ColorType toColorType (const QPalette &palette)
 将调色板 palette 转换为主题类型的枚举. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.使用 QPalette::background 获取颜色的明亮度,将其转换为主题类型的枚举值。 返回调色板的颜色类型 更多...
 
static bool setSingleInstance (const QString &key, SingleScope singleScope=UserScope)
 设置DGuiApplicationHelper实例. 更多...
 
static void setSingleInstanceInterval (int interval=3000)
 设置从QLocalServer获取消息的等待时间. 更多...
 
static D_DECL_DEPRECATED void setSingelInstanceInterval (int interval=3000)
 设置从QLocalServer获取消息的等待时间. 更多...
 
- 静态 Public 成员函数 继承自 QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 

Protected 成员函数

virtual void initialize ()
 
- Protected 成员函数 继承自 QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 

属性

ColorType themeType
 
ColorType paletteType
 
bool hasUserManual
 
- 属性 继承自 QObject
 objectName
 

友元

class _DGuiApplicationHelper
 

额外继承的成员函数

- Public 属性 继承自 QObject
typedef QObjectList
 

详细描述

DGuiApplicationHelper 应用程序的 GUI ,如主题、调色板等.

\inmodule dtkgui

成员函数说明

◆ adjustColor() [1/2]

QColor Dtk::Gui::DGuiApplicationHelper::adjustColor ( const QColor &  base,
qint8  hueFloat,
qint8  saturationFloat,
qint8  lightnessFloat,
qint8  redFloat,
qint8  greenFloat,
qint8  blueFloat,
qint8  alphaFloat 
)
static

调整颜色.

注解
取值范围均为 -100 ~ 100 ,当三原色参数为-100时,颜色为黑色,参数为100时,颜色为白色. 以透明度( alphaFloat )为例,当参数为负数时基础色的 alphaFloat 值减少,现象偏向透明, 参数为正数alphaFloat 值增加,现象偏不透明 base 基础色 hueFloat 色调 saturationFloat 饱和度 lightnessFloat 亮度 redFloat 红色 greenFloat 绿色 blueFloat 蓝色 alphaFloat Alpha通道(透明度)
返回
经过调整的颜色

◆ adjustColor() [2/2]

QImage Dtk::Gui::DGuiApplicationHelper::adjustColor ( const QImage &  base,
qint8  hueFloat,
qint8  saturationFloat,
qint8  lightnessFloat,
qint8  redFloat,
qint8  greenFloat,
qint8  blueFloat,
qint8  alphaFloat 
)
static

调整图片整体像素颜色.

注解
取值范围均为 -100 ~ 100 ,当三原色参数为-100时,颜色为黑色,参数为100时,颜色为白色. 以透明度( alphaFloat )为例,当参数为负数时基础色的 alphaFloat 值减少,现象偏向透明, 参数为正数alphaFloat 值增加,现象偏不透明 base 基础色 hueFloat 色调 saturationFloat 饱和度 lightnessFloat 亮度 redFloat 红色 greenFloat 绿色 blueFloat 蓝色 alphaFloat Alpha通道(透明度)
返回
经过调整的图片

◆ applicationPalette()

DPalette Dtk::Gui::DGuiApplicationHelper::applicationPalette ( ) const

返回应用程序调色板.

如果使用 setApplicationPalette 设置过一个有效的调色板, 将直接返回保存的调色板. 否则 先计算调色板的ColorType, 再使用这个颜色类型通过 standardPalette 获取标准调色板. 计算 ColorType的数据来源按优先级从高到低排列有以下几种方式:

  1. 如果使用 setThemeType 设置过一个有效的颜色类型, 将直接使用 themeType 的值.
  2. 如果为QGuiApplication设置过调色板(表现为 QGuiApplication::testAttribute(Qt::AA_SetPalette) 为true), 则将使用 QGuiApplication::palette 通过 toColorType 获取颜色类型.
  3. 将根据 applicationTheme 的 DPlatformTheme::themeName 计算颜色类型. 如果ColorType来源自第2种方式, 则会直接使用 QGuiApplication::palette 覆盖标准调色板中的 QPalette 部分, 且程序不会再跟随系统的活动色自动更新调色板.
    警告
    不应该在DTK程序中使用QGuiApplication/QApplication::setPalette
    返回
    应用程序调色板

◆ applicationTheme()

DPlatformTheme * Dtk::Gui::DGuiApplicationHelper::applicationTheme ( ) const

DGuiApplicationHelper::applicationTheme.

同 systemTheme

返回
平台主题对象
参见
systemTheme
windowTheme

◆ blendColor()

QColor Dtk::Gui::DGuiApplicationHelper::blendColor ( const QColor &  substrate,
const QColor &  superstratum 
)
static

将两种颜色混合,合成新的颜色.

substrate 底层颜色 superstratum 上层颜色

返回
混合颜色

◆ fetchPalette()

DPalette Dtk::Gui::DGuiApplicationHelper::fetchPalette ( const DPlatformTheme theme)
static

获取调色板数据.

首先根据 DPlatformTheme::themeName 获取主题的颜色类型, 如果名称以 "dark" 结尾则认为其颜色类型为 DarkType, 否则为 LightType. 如果主题名称为空, 将使用其父主题的名称( DPlatformTheme::fallbackProperty ). 根据颜色类型将使用 standardPalette 获取基础调色板数据, 在此基础上 从 DPlatformTheme::fetchPalette 获取最终的调色板.

theme 平台主题对象

返回
调色板数据

◆ fontManager()

const DFontManager * Dtk::Gui::DGuiApplicationHelper::fontManager ( ) const

DGuiApplicationHelper::fontManager.

程序中唯一的DFontManager对象, 会根据程序的fontChanged信号 更新 DFontManager::baseFontPixelSize

警告
请不要尝试更改它的 baseFontPixelSize 属性

◆ generatePalette()

void Dtk::Gui::DGuiApplicationHelper::generatePalette ( DPalette base,
ColorType  type = UnknownType 
)
static

加工调色板的颜色. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.同 generatePaletteColor, 将直接调用 generatePaletteColor 加工 所有类型的调色板颜色.

base 被加工的调色板 type 加工时所使用的颜色类型, 如果值为 UnknownType 将使用 toColorType 获取颜色类型

◆ generatePaletteColor() [1/2]

void Dtk::Gui::DGuiApplicationHelper::generatePaletteColor ( DPalette base,
DPalette::ColorType  role,
DGuiApplicationHelper::ColorType  type 
)
static

加工调色板的颜色. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.一般我们只会为调色板的 QPalette::Normal 组设置颜色值, 但是 控件中也需要使用其他组的颜色, 此函数使用一些固定规则为 base 填充 QPalette::Disabled 和 QPalette::Inactive 分组的颜色. 不同的颜色类型会使用不同的加工规则, 如果为 LightType 类型, 则将颜色的alpha通道调整为 0.6 后作为 QPalette::Disabled 类的颜色使用, 调整为 0.4 后 作为 QPalette::Inactive 类的颜色使用. 如果为 DarkType 类型, 则将颜色的alpha通道调整为 0.7 后作为 QPalette::Disabled 类的颜色使用, 调整为 0.6 后作为 QPalette::Inactive 类的颜色使用.

base 被加工的调色板 role 加工的项 type 加工时所使用的颜色类型, 如果值为 UnknownType 将使用 toColorType 获取颜色类型

◆ generatePaletteColor() [2/2]

void Dtk::Gui::DGuiApplicationHelper::generatePaletteColor ( DPalette base,
QPalette::ColorRole  role,
DGuiApplicationHelper::ColorType  type 
)
static

获取调色板颜色.

base 调色板 role 色码 type 主题枚举值

参见
QPalette::ColorRole

◆ hasUserManual()

bool Dtk::Gui::DGuiApplicationHelper::hasUserManual ( ) const

Determine whether it's a user manual for this application.

返回

◆ instance()

DGuiApplicationHelper * Dtk::Gui::DGuiApplicationHelper::instance ( )
static

DGuiApplicationHelper::instance返回 DGuiApplicationHelper 对象

返回
DGuiApplicationHelper对象

◆ isSpecialEffectsEnvironment()

bool Dtk::Gui::DGuiApplicationHelper::isSpecialEffectsEnvironment ( )
static

isAnimationEnvironment 用于判断当前桌面环境是否是开启了动画等特效的环境

返回
true开启了 false没有开启

◆ isTabletEnvironment()

bool Dtk::Gui::DGuiApplicationHelper::isTabletEnvironment ( )
static

用于判断当前桌面环境是否是平板电脑环境.

返回
true 是平板电脑环境 false不是平板电脑环境

◆ paletteType()

DGuiApplicationHelper::ColorType Dtk::Gui::DGuiApplicationHelper::paletteType ( ) const

返回当前已设置的调色板类型.

如果未调用过 setPaletteType, 默认为 UnknownType.

返回
返回当前已设置的调色板类型.
警告
与 themetype 不同,此值与程序当前的 QPalette 没有关系。
参见
DGuiApplicationHelper::themeType

◆ registerInstanceCreator()

void Dtk::Gui::DGuiApplicationHelper::registerInstanceCreator ( DGuiApplicationHelper::HelperCreator  creator)
static

创建 DGuiApplicationHelper 对象.

creator 函数指针

注解
一定要先调用此函数,再使用 DGuiApplicationHelper::instance()

◆ setApplicationPalette()

void Dtk::Gui::DGuiApplicationHelper::setApplicationPalette ( const DPalette palette)

DGuiApplicationHelper::setApplicationPalette.

自定义应用程序调色板, 如果没有为 QGuiApplication 设置过 QPalette, 则 将触发 QGuiApplication::palette 的更新. 如果仅需要控制程序使用亮色还是暗色的 调色板, 请使用 setThemeType.

注解
主动设置调色板的操作会导致程序不再使用 DPlatformTheme 中调色板相关的数据, 也 包括窗口级别的 windowTheme 所对应的 DPlatformTheme, 届时设置 DPlatformTheme 的 themeName 和所有与 palette 相关的属性都不再生效.
警告
使用此方式设置的调色板将不会自动跟随活动色的变化
如果使用过QGuiApplication::setPalette, 此方式可能不会生效 palette 要设置的调色板

◆ setPaletteType

void Dtk::Gui::DGuiApplicationHelper::setPaletteType ( DGuiApplicationHelper::ColorType  paletteType)
slot

设置程序所应用的调色板类型.

将固定程序的调色板类型, 此行为可能导致 applicationPalette 变化, 前提是未使用 setApplicationPalette 固定过程序的调色板, 此方法不影响程序的调色板跟随 活动色改变, 可用于控制程序使用亮色还是暗色调色板.

注解
主动设置调色板颜色类型的操作会导致程序不再使用 DPlatformTheme 中调色板相关的数据, 也 包括窗口级别的 windowTheme 所对应的 DPlatformTheme, 届时设置 DPlatformTheme 的 themeName 和所有与 palette 相关的属性都不再生效. paletteType 主题类型的枚举值

◆ setSingelInstanceInterval()

void Dtk::Gui::DGuiApplicationHelper::setSingelInstanceInterval ( int  interval = 3000)
static

设置从QLocalServer获取消息的等待时间.

interval 等待时间,typo 请使用 DGuiApplicationHelper::setSingleInstanceInterval

◆ setSingleInstance()

bool Dtk::Gui::DGuiApplicationHelper::setSingleInstance ( const QString key,
DGuiApplicationHelper::SingleScope  singleScope = UserScope 
)
static

设置DGuiApplicationHelper实例.

key 实例关键字 singleScope 实例使用范围

返回
设置是否成功
注解
此处所用到DGuiApplicationHelperPrivate::waitTime默认值为3000ms,可通过
DGuiApplicationHelper::setSingleInstanceInterval设置

◆ setSingleInstanceInterval()

void Dtk::Gui::DGuiApplicationHelper::setSingleInstanceInterval ( int  interval = 3000)
static

设置从QLocalServer获取消息的等待时间.

用于在重新创建DGuiApplicationHelper单例时,检测DGuiApplicationHelper单例是否存在且有响应 interval 等待时间,如 interval 为 -1 则没有超时一直等待,默认和 QLocalSocket 一致 3000ms

注解
需要在 DGuiApplicationHelper::setSingleInstance 之前调用否则无效。

◆ setThemeType

void Dtk::Gui::DGuiApplicationHelper::setThemeType ( DGuiApplicationHelper::ColorType  themeType)
slot

DGuiApplicationHelper::setThemeType. \obsolete

同 setPaletteType, 已废弃,请不要再使用。 themeType 主题类型.

◆ standardPalette()

DPalette Dtk::Gui::DGuiApplicationHelper::standardPalette ( DGuiApplicationHelper::ColorType  type)
static

根据主题获取标准调色板.

type 主题枚举值

返回
调色板

◆ systemTheme()

DPlatformTheme * Dtk::Gui::DGuiApplicationHelper::systemTheme ( ) const

DGuiApplicationHelper::systemTheme.

返回系统级别的主题, 优先级低于 applicationTheme

返回
平台主题对象
参见
applicationTheme
windowTheme

◆ themeType()

DGuiApplicationHelper::ColorType Dtk::Gui::DGuiApplicationHelper::themeType ( ) const

返回程序的主题类型.

当themeType为UnknownType时, 将自动根据 GuiApplication::palette的QPalette::background颜色计算主题 类型, 否则与 paletteType 的值一致. 程序中应当使用此值作为 暗色/亮色主题类型的判断.

返回
主题的颜色类型.
参见
toColorType

◆ toColorType() [1/2]

DGuiApplicationHelper::ColorType Dtk::Gui::DGuiApplicationHelper::toColorType ( const QColor &  color)
static

获取颜色的明亮度,将其转换为主题类型的枚举值.

转换的策略为:先将颜色转换为rgb格式,再根据 Y = 0.299R + 0.587G + 0.114B 的公式 计算出颜色的亮度,亮度大于 191 时认为其为浅色,否则认为其为深色。 color 需要转换为主题的类型的颜色

返回
颜色类型的枚举值

◆ toColorType() [2/2]

DGuiApplicationHelper::ColorType Dtk::Gui::DGuiApplicationHelper::toColorType ( const QPalette &  palette)
static

将调色板 palette 转换为主题类型的枚举. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.使用 QPalette::background 获取颜色的明亮度,将其转换为主题类型的枚举值。 返回调色板的颜色类型

palette 调色板

返回
颜色类型的枚举值

◆ windowPalette()

DPalette Dtk::Gui::DGuiApplicationHelper::windowPalette ( QWindow *  window) const

DGuiApplicationHelper::windowPalette.

返回窗口所对应的调色板数据, 同 applicationPalette, 如果程序中自定义了 调色板, 则直接使用 applicationPalette. 自定义调色板的三种方式如下:

  1. 通过 setApplicationPalette 固定调色板
  2. 通过 setThemeType 固定调色板的类型
  3. 通过 QGuiApplication::setPalette 固定调色板, 需要注意此方法不可逆. 否则将基于窗口所对应的 DPlatformTheme 获取调色板( fetchPalette). window
    返回
    调色板
    参见
    windowTheme
    fetchPalette
    standardPalette
    generatePalette
    applicationPalette
    警告
    使用时要同时关注 paletteChanged, 收到此信号后可能需要重新获取窗口的调色板
    已废弃, 不再对外暴露控制窗口级别调色板的接口

◆ windowTheme()

DPlatformTheme * Dtk::Gui::DGuiApplicationHelper::windowTheme ( QWindow *  window) const

返回窗口级别的主题, 优先级高于 windowTheme 和 systemTheme.

window 主题对象对应的窗口

返回
平台主题对象
参见
applicationTheme()
警告
已废弃, 不再对外暴露为特定窗口设置主题的接口

该类的文档由以下文件生成: