DtkWidget 5.6.0.2
DTK Widget module
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
Dtk::Widget::DSettingsWidgetFactory类 参考

DSettingsWidgetFactory是一个用于构造Deepin风格的设置对话框的控件. 更多...

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

Public 类型

typedef QWidget *() WidgetCreateHandler(QObject *)
 自定义的控件构建函数,一般接受一个 Dtk::Core::DSettingsOption 作为参数.
 

Public 成员函数

typedef QPair (ItemCreateHandler)(QObject *)
 
 DSettingsWidgetFactory (QObject *parent=Q_NULLPTR)
 
void registerWidget (const QString &viewType, std::function< WidgetCreateHandler > handler)
 DSettingsWidgetFactory::registerWidget 向Factory注册一种类型viewType。注册该类型后,可以通过在DSettings的DOption中,设置type为对应的viewType,这样Factory在构建viewType对应的控件时,会调用handler所指定的方法来构建. 更多...
 
void registerWidget (const QString &viewType, std::function< ItemCreateHandler > handler)
 
QWidget * createWidget (QPointer< DTK_CORE_NAMESPACE::DSettingsOption > option)
 DSettingsWidgetFactory::createWidget 创建一个option对应的配置控件,一般是需要自定义控件时使用,可以通过translateContext设置翻译上下文. 更多...
 
QWidget * createWidget (const QByteArray &translateContext, QPointer< DTK_CORE_NAMESPACE::DSettingsOption > option)
 DSettingsWidgetFactory::createWidget 创建一个option对应的配置控件,一般是需要自定义控件时使用. 更多...
 
QPair< QWidget *, QWidget * > createItem (QPointer< DTK_CORE_NAMESPACE::DSettingsOption > option) const
 
QPair< QWidget *, QWidget * > createItem (const QByteArray &translateContext, QPointer< DTK_CORE_NAMESPACE::DSettingsOption > option) const
 
- 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 QWidget * createTwoColumWidget (DTK_CORE_NAMESPACE::DSettingsOption *option, QWidget *rightWidget)
 DSettingsWidgetFactory::createTwoColumWidget 返回一个水平布局的控件, 左边为option的名称标签,右边为设置的自定义控件rightWidget. 更多...
 
static D_DECL_DEPRECATED QWidget * createTwoColumWidget (const QByteArray &translateContext, DTK_CORE_NAMESPACE::DSettingsOption *option, QWidget *rightWidget)
 DSettingsWidgetFactory::createTwoColumWidget 返回一个水平布局的控件, 左边为option的名称标签,右边为设置的自定义控件rightWidget, 可以通过translateContext设置翻译上下文. 更多...
 
static QPair< QWidget *, QWidget * > createStandardItem (const QByteArray &translateContext, DTK_CORE_NAMESPACE::DSettingsOption *option, QWidget *rightWidget)
 
- 静态 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)
 

额外继承的成员函数

- Public 属性 继承自 QObject
typedef QObjectList
 
- 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)
 
- 属性 继承自 QObject
 objectName
 

详细描述

DSettingsWidgetFactory是一个用于构造Deepin风格的设置对话框的控件.

\inmodule dtkwidget

对于每种控件,均由一个id和对应的构造函数来组成,DSettingsWidgetFactory内置了许多基础的控件,包括: checkbox/lineedit/combobox/spinbutton/buttongroup/radiogroup/slider等。

成员函数说明

◆ createTwoColumWidget() [1/2]

QWidget * Dtk::Widget::DSettingsWidgetFactory::createTwoColumWidget ( const QByteArray translateContext,
DTK_CORE_NAMESPACE::DSettingsOption *  option,
QWidget *  rightWidget 
)
static

DSettingsWidgetFactory::createTwoColumWidget 返回一个水平布局的控件, 左边为option的名称标签,右边为设置的自定义控件rightWidget, 可以通过translateContext设置翻译上下文.

translateContext 自定义的翻译上下文,参考 QCoreApplication::translate(); option 设置项,包含改配置的名称 rightWidget 自定义控件

返回
生成的水平布局配置项控件
参见
Dtk::Widget::DSettingsWidgetFactory::createTwoColumWidget(Dtk::Core::DSettingsOption *option, QWidget *rightWidget)

◆ createTwoColumWidget() [2/2]

QWidget * Dtk::Widget::DSettingsWidgetFactory::createTwoColumWidget ( DTK_CORE_NAMESPACE::DSettingsOption *  option,
QWidget *  rightWidget 
)
static

DSettingsWidgetFactory::createTwoColumWidget 返回一个水平布局的控件, 左边为option的名称标签,右边为设置的自定义控件rightWidget.

option 设置项,包含改配置的名称 rightWidget 自定义控件

返回
生成的水平布局配置项控件
参见
Dtk::Widget::DSettingsWidgetFactory::createTwoColumWidget(const QByteArray &translateContext, Dtk::Core::DSettingsOption *option, QWidget *rightWidget)

◆ createWidget() [1/2]

QWidget * Dtk::Widget::DSettingsWidgetFactory::createWidget ( const QByteArray translateContext,
QPointer< DTK_CORE_NAMESPACE::DSettingsOption >  option 
)

DSettingsWidgetFactory::createWidget 创建一个option对应的配置控件,一般是需要自定义控件时使用.

translateContext 自定义的翻译上下文,参考 QCoreApplication::translate(); option 需要构建的配置项

返回
根据option的type属性创建的配置控件
参见
Dtk::Widget::DSettingsWidgetFactory::createWidget(QPointer<Dtk::Core::DSettingsOption> option)

◆ createWidget() [2/2]

QWidget * Dtk::Widget::DSettingsWidgetFactory::createWidget ( QPointer< DTK_CORE_NAMESPACE::DSettingsOption >  option)

DSettingsWidgetFactory::createWidget 创建一个option对应的配置控件,一般是需要自定义控件时使用,可以通过translateContext设置翻译上下文.

option 需要构建的配置项

返回
根据option的type属性创建的配置控件
参见
Dtk::Widget::DSettingsWidgetFactory::createWidget(const QByteArray &translateContext, QPointer<Dtk::Core::DSettingsOption> option)

◆ registerWidget()

void Dtk::Widget::DSettingsWidgetFactory::registerWidget ( const QString viewType,
std::function< WidgetCreateHandler handler 
)

DSettingsWidgetFactory::registerWidget 向Factory注册一种类型viewType。注册该类型后,可以通过在DSettings的DOption中,设置type为对应的viewType,这样Factory在构建viewType对应的控件时,会调用handler所指定的方法来构建.

viewType 控件类型,建议为全局唯一的字符串,且不要和内部类型重复,参考 Dtk::Widget::DSettingsWidgetFactory handler 自定义的控件构建函数, 参考 Dtk::Widget::DSettingsWidgetFactory::WidgetCreateHandler


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