DtkWidget 5.6.0.2
DTK Widget module
Public 槽 | 信号 | Public 成员函数 | Protected 成员函数 | 属性 | 所有成员列表
Dtk::Widget::DEnhancedWidget类 参考
类 Dtk::Widget::DEnhancedWidget 继承关系图:
Inheritance graph
[图例]
Dtk::Widget::DEnhancedWidget 的协作图:
Collaboration graph
[图例]

Public 槽

void setTarget (QWidget *target)
 DEnhancedWidget::setTarget target 更多...
 
void setEnabled (bool enabled)
 DEnhancedWidget::setEnabled enabled 更多...
 

信号

void xChanged (int x)
 
void yChanged (int y)
 
void positionChanged (const QPoint &point)
 
void widthChanged (int width)
 
void heightChanged (int height)
 
void sizeChanged (const QSize &size)
 
void targetChanged (QWidget *target)
 
void enabledChanged (bool enabled)
 
void showed ()
 

Public 成员函数

 DEnhancedWidget (QWidget *target, QObject *parent=0)
 DEnhancedWidget::DEnhancedWidget 构造函数. 更多...
 
QWidget * target () const
 
bool enabled () 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
 

Protected 成员函数

bool eventFilter (QObject *o, QEvent *e) Q_DECL_OVERRIDE
 
- 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)
 

属性

QWidget * target
 要监听的目标控件,每一个 DEnhancedWidget 对象只能关联到一个 QWidget 对象 当 target 改变后,所有的信号和旧的 target 都不再有任何关系。 更多...
 
bool enabled
 值为 true 时过滤 target 控件的事件发送信号。否则卸载事件过滤器,控件属性 改变时也不会发出信号。 更多...
 
- 属性 继承自 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

QWidget 中只有少量的信号用于通知和窗口相关的属性变化,常用的如 x y width height 等属性的改变只能通过继承重写对应的事件才能知晓。DEnhancedWidget 中通过使用事件 过滤器监听目标控件的事件,收到对应事件之后转换为自身的信号发射出来,以此来实现对 QWidget 对象的信号扩展。

构造及析构函数说明

◆ DEnhancedWidget()

Dtk::Widget::DEnhancedWidget::DEnhancedWidget ( QWidget *  w,
QObject parent = 0 
)
explicit

DEnhancedWidget::DEnhancedWidget 构造函数.

w 初始时指定的 target 控件 parent 父对象,直接传递给基类

参见
DEnhancedWidget::target
QObject::parent

成员函数说明

◆ enabledChanged

void Dtk::Widget::DEnhancedWidget::enabledChanged ( bool  enabled)
signal

enabled 是否可用. 这个信号在属性 DEnhancedWidget::enabled enabled 被改变后发送

◆ eventFilter()

bool Dtk::Widget::DEnhancedWidget::eventFilter ( QObject o,
QEvent e 
)
protectedvirtual

重载 QObject .

◆ heightChanged

void Dtk::Widget::DEnhancedWidget::heightChanged ( int  height)
signal

height 改变的高度大小. 这个信号在目标控件的高度改变后被发送

◆ positionChanged

void Dtk::Widget::DEnhancedWidget::positionChanged ( const QPoint point)
signal

point 改变的位置坐标. 这个信号在目标控件的坐标改变后被发送

◆ setEnabled

void Dtk::Widget::DEnhancedWidget::setEnabled ( bool  enabled)
slot

◆ setTarget

void Dtk::Widget::DEnhancedWidget::setTarget ( QWidget *  target)
slot

◆ showed

void Dtk::Widget::DEnhancedWidget::showed ( )
signal

这个信号在目标控件显示后发送

◆ sizeChanged

void Dtk::Widget::DEnhancedWidget::sizeChanged ( const QSize size)
signal

size 改变的大小. 这个信号在目标控件的大小改变后被发送

◆ targetChanged

void Dtk::Widget::DEnhancedWidget::targetChanged ( QWidget *  target)
signal

target 目标控件. 这个信号在属性 DEnhancedWidget::target 被改变后发送

◆ widthChanged

void Dtk::Widget::DEnhancedWidget::widthChanged ( int  width)
signal

width 改变的宽度大小. 这个信号在目标控件的宽度改变后被发送

◆ xChanged

void Dtk::Widget::DEnhancedWidget::xChanged ( int  x)
signal

x 改变的 x 轴坐标. 这个信号在目标控件的 x 坐标改变后被发送

◆ yChanged

void Dtk::Widget::DEnhancedWidget::yChanged ( int  y)
signal

y 改变的 y 轴坐标. 这个信号在目标控件的 y 坐标改变后被发送

属性说明

◆ enabled

Dtk::Widget::DEnhancedWidget::enabled
readwrite

值为 true 时过滤 target 控件的事件发送信号。否则卸载事件过滤器,控件属性 改变时也不会发出信号。

注解
可读可写

◆ target

Dtk::Widget::DEnhancedWidget::target
readwrite

要监听的目标控件,每一个 DEnhancedWidget 对象只能关联到一个 QWidget 对象 当 target 改变后,所有的信号和旧的 target 都不再有任何关系。

QWidget *w1 = new QWidget();
w1->show();
qDebug() << x;
});
QWidget *w2 = new QWidget();
ew.setTarget(w2);
w1->move(100, 100);
DEnhancedWidget(QWidget *target, QObject *parent=0)
DEnhancedWidget::DEnhancedWidget 构造函数.
Definition: denhancedwidget.cpp:137
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)

移动控件 w1 时不会有任何打印

w2->show();
w2->move(100, 100);

移动控件 w2 时会有打印 虽然将 target 设置为 w2 之前就已经连接了 x 改变的信号,不过 w2 位置改变时可以收到信号

注解
可读可写

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