DtkWidget 5.6.0.2
DTK Widget module
Public 类型 | Public 成员函数 | Protected 成员函数 | 属性 | 所有成员列表
Dtk::Widget::DAccessibilityChecker类 参考

该类用于检测自动化标记是否存在. 更多...

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

Public 类型

enum  OutputFormat { AssertFormat , FullFormat }
 日志格式枚举. 更多...
 
enum  Role { Widget , ViewItem }
 检测的角色. 更多...
 

Public 成员函数

 DAccessibilityChecker (QObject *parent=nullptr)
 默认构造. 更多...
 
void setOutputFormat (OutputFormat format)
 
OutputFormat outputFormat () const
 
bool check ()
 检测自动化标记名称. 更多...
 
void start (int msec=3000)
 定时检测控件的标记名称. 更多...
 
- 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
 

Protected 成员函数

virtual bool isIgnore (Role role, const QWidget *w)
 
- 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)
 

属性

OutputFormat outputFormat
 日志输出格式. 更多...
 
- 属性 继承自 QObject
 objectName
 

额外继承的成员函数

- 静态 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
 

详细描述

该类用于检测自动化标记是否存在.

\inmodule dtkwidget

这是一个用于检测控件自动化标记是否完整添加的类,推荐该类在Debug模式下工作。可以使 用 QT_DEBUG 或 QT_NO_DEBUG 宏指定当前是否为debug模式。断言输出模式下,程序在遇到控 件不存在自动化标记名称时断言退出,并提示出具体控件和路径;全输出模式下,程序会输出 全部的日志信息,且程序不会退出。除此之外,start() 函数会每隔3秒执行 check() 函数, 如发现有控件不存在自动化标记名称,程序会直接退出并提示对应控件信息。一般的使用方法 如下代码所示:

MainWindow w;
#ifdef QT_DEBUG
checker.start();
#endif
w.show();
DAccessibilityChecker(QObject *parent=nullptr)
默认构造.
Definition: daccessibilitychecker.cpp:428

MainWindow w;
#ifdef QT_DEBUG
checker.setOutputFormat(DAccessibilityChecker::FullFormat);
checker.check();
#endif
w.show();

如果检测出某一类不存在自动化标记,会存在类似如下的提示

Check Widget [QWidget] has no accessible name.
Widget Detail:
Class Name: QWidget, Object Name: CentralWidget Widget Path: MainWindow ——► QWidget

其中,可以从控件信息中获取到类名(ClassName)、对象名(ObjectName,如果存在)、对象路径(到顶层窗口的完整的父子关系)。

警告
目前该类只用于检测自动化标记的名称。
注解
对象名(setObjectName)设置过的类,能够更容易找到是否添加了自动化标记名称

成员枚举类型说明

◆ OutputFormat

日志格式枚举.

\value AssertFormat 断言日志,如检查到缺失,直接断言。 \value FullFormat 全日志,全日志将所有的缺失信息显示到控制台中。

参见
DAccessibilityChecker::outputFormat

◆ Role

检测的角色.

检测角色目前分为两种。 \value Widget 所有继承自 QWidget 的小控件 \value ViewItem 所有继承自 QStandardItem 的View Item项

构造及析构函数说明

◆ DAccessibilityChecker()

Dtk::Widget::DAccessibilityChecker::DAccessibilityChecker ( QObject parent = nullptr)
explicit

默认构造.

默认构造

parent 父类指针

成员函数说明

◆ check()

bool Dtk::Widget::DAccessibilityChecker::check ( )

检测自动化标记名称.

该函数用于检测自动化检测的名称,目前支持检测的类型为 QWidget QStandardItem。

返回
所有控件都存在自动化标记名称,返回true,否则返回false。
注解
建议该函数在debug模式下执行,release模式下会影响程序运行
参见
start()

◆ start()

void Dtk::Widget::DAccessibilityChecker::start ( int  msec = 3000)

定时检测控件的标记名称.

调用此函数会定时执行自动化标记检测,如果发现某控件的自动化标记存在缺失,则程序退出并提示出控件的相关信息。 msec 定时开启的时间,默认为3秒.

参见
check()

属性说明

◆ outputFormat

Dtk::Widget::DAccessibilityChecker::outputFormat
readwrite

日志输出格式.

可以通过设置日志输出格式来控制输出的检查日志是断言日志还是全日志。 默认情况下,这个属性是断言日志。

参见
DAccessibilityChecker::OutputFormat

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