DtkWidget 5.6.0.2
DTK Widget module
|
DThemeManager 类提供了管理控件主题文件的工具函数. 更多...
Public 槽 | |
void | updateQss () |
DThemeManager::updateQss This slot repolishes the theme applied on the sender widget. 更多... | |
void | updateThemeOnParentChanged (QWidget *widget) |
DThemeManager::updateThemeOnParentChanged 槽函数用于在控件的 父控件发生改变时更新控件的主题样式。 widget 为待刷新样式的控件。 | |
信号 | |
void | themeChanged (QString theme) |
themeTypeChanged 信号在应用程序主题发生变化时触发. 更多... | |
void | widgetThemeChanged (QWidget *widget, QString theme) |
widgetThemeChanged 信号在特定控件主题发生改变时触发. 更多... | |
Public 成员函数 | |
QString | theme () const |
DThemeManager::theme 更多... | |
QString | theme (const QWidget *widget, QWidget **baseWidget=nullptr) const |
DThemeManager::theme 用于找到 widget 距离最近、并且设置了主题的上级控件, 并返回这个主题的名称。如果上级控件都没有设置主题,则返回程序级别的主题名称。 更多... | |
void | setTheme (const QString theme) |
DThemeManager::setTheme sets the application theme. theme is the theme name to be set. 更多... | |
void | setTheme (QWidget *widget, const QString theme) |
DThemeManager::setTheme sets theme on a widget. widget is the target widget. theme is the name of theme to be set. 更多... | |
QString | getQssForWidget (const QString className, const QString &theme=QString()) const |
DThemeManager::getQssForWidget searches for the theme file of one class in a specific theme. className is the name of the class. theme is the name of the theme to be applied. 更多... | |
QString | getQssForWidget (const QWidget *widget) const |
DThemeManager::getQssForWidget This function is overloaded. widget is the target widget. 更多... | |
![]() | |
virtual const QMetaObject * | metaObject () 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) |
QThread * | thread () 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) |
T | 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 ®Exp, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
const QObjectList & | children () 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< QByteArray > | dynamicPropertyNames () const const |
void | destroyed (QObject *obj) |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
bool | inherits (const char *className) const const |
void | deleteLater () |
Q_DISABLE_COPY (Class) | |
Q_DISABLE_MOVE (Class) | |
Q_DISABLE_COPY_MOVE (Class) | |
T | qobject_cast (QObject *object) |
T | qobject_cast (const QObject *object) |
T | qFindChild (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
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 DThemeManager * | instance () |
DThemeManager::instance 用于获取 DThemeManager 的全局实例。 更多... | |
static void | registerWidget (QWidget *widget, QStringList properties=QStringList()) |
DThemeManager::registerWidget 用于将控件注册到 DThemeManager 的管理范围内。 只有通过 registerWidget() 注册的控件才会受到 DThemeManager 的自动管理, 通常注册的动作都会在实例的构造过程中完成。properties 参数用来注册属性, 注册的属性发生变化时 DThemeManager 会自动刷新控件的样式。 widget 需要注册的控件。 properties 需要注册的控件属性。 | |
static void | registerWidget (QWidget *widget, const QString &filename, const QStringList &properties=QStringList()) |
DThemeManager::registerWidget 用于将控件注册到 DThemeManager 的管理范围内。 widget 需要注册的控件。 filename 需要注册的控件所对应的主题文件名。 properties 需要注册的控件属性。 更多... | |
![]() | |
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 成员函数 | |
bool | eventFilter (QObject *watched, QEvent *event) Q_DECL_OVERRIDE |
![]() | |
QObject * | sender () 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) |
友元 | |
class | DApplication |
额外继承的成员函数 | |
![]() | |
typedef | QObjectList |
![]() | |
objectName | |
DThemeManager 类提供了管理控件主题文件的工具函数.
\inmodule dtkwidget
The DThemeManager class provides helper to manage theme files of widgets.
The DThemeManager is singleton class, DThemeManager::instance is used to get an instance of DThemeManager.
DThemeManager can be used to get the current application theme, find the corresponding theme file of a widget.
在 DTK 中,目前只有 light 和 dark 两种风格的主题,主题文件是为单个控件所创建 的 QSS 文件,并且以 .theme 结尾,每个控件都应该有对应的 light 和 dark 两套主题文件。
主题在应用范围上分为程序级别的主题和控件级别的主题,程序中的控件默认使用程序级别的 主题 theme(), 控件也可以使用 setTheme(QWidget *widget, const QString theme)单独设置不同的主题风格, 这种情况下控件的子控件都会继承其父控件设置的主题,而不再使用程序级别的主题。
重载 QObject .
QString Dtk::Widget::DThemeManager::getQssForWidget | ( | const QString | className, |
const QString & | theme = QString() |
||
) | const |
DThemeManager::getQssForWidget searches for the theme file of one class in a specific theme. className is the name of the class. theme is the name of the theme to be applied.
DThemeManager::getQssForWidget 用于获取特定类在特定主题下的样式内容。 className 为指定的类名称,className 需要跟控件对应的主题文件名对应。 theme 为指定的主题名称。
QString Dtk::Widget::DThemeManager::getQssForWidget | ( | const QWidget * | widget | ) | const |
DThemeManager::getQssForWidget This function is overloaded. widget is the target widget.
DThemeManager::getQssForWidget 控件的主题样式内容。 widget 为指定的控件。
|
static |
DThemeManager::instance 用于获取 DThemeManager 的全局实例。
|
static |
DThemeManager::registerWidget 用于将控件注册到 DThemeManager 的管理范围内。 widget 需要注册的控件。 filename 需要注册的控件所对应的主题文件名。 properties 需要注册的控件属性。
void Dtk::Widget::DThemeManager::setTheme | ( | const QString | theme | ) |
DThemeManager::setTheme sets the application theme. theme is the theme name to be set.
DThemeManager::setTheme 用于设置当前程序的主题。 theme 为指定的主题名称。
void Dtk::Widget::DThemeManager::setTheme | ( | QWidget * | widget, |
const QString | theme | ||
) |
DThemeManager::setTheme sets theme on a widget. widget is the target widget. theme is the name of theme to be set.
DThemeManager::setTheme 用于给特定的控件设置主题。
QString Dtk::Widget::DThemeManager::theme | ( | ) | const |
DThemeManager::theme 用于获取当前程序使用的主题名称。 value are "light" and "dark".
QString Dtk::Widget::DThemeManager::theme | ( | const QWidget * | widget, |
QWidget ** | baseWidget = nullptr |
||
) | const |
DThemeManager::theme 用于找到 widget 距离最近、并且设置了主题的上级控件, 并返回这个主题的名称。如果上级控件都没有设置主题,则返回程序级别的主题名称。
widget 目标控件。 baseWidget 待返回的上级控件。
|
signal |
themeTypeChanged 信号在应用程序主题发生变化时触发.
theme 新的主题类型
默认情况下,DApplication 会在处理 QEvent::ApplicationPaletteChange 事件时自动更新应用程序的主题类型,此操作可能会导致此信号的触发。
|
slot |
DThemeManager::updateQss This slot repolishes the theme applied on the sender widget.
This slot is triggered when the property of a registered widget changes, it's useful because Qt has no support of repolishing the style if some custom properties used in the QSS file has changed.
DThemeManager::updateQss 槽函数会刷新信号发送者的样式。
|
signal |
widgetThemeChanged 信号在特定控件主题发生改变时触发.
widget 对应的控件指针, theme 切换的主题类型。