Класс QSignalTransition
Класс QSignalTransition предоставляет переход, основанный на сигнале Qt. Подробнее...
| Заголовок: | #include <QSignalTransition> |
| qmake: | QT += core |
| С момента: | Qt 4.6 |
| Наследует: | QAbstractTransition |
Свойства
- senderObject : QObject *
- signal : QByteArray
- 4 свойства унаследованы от QAbstractTransition
- 1 свойство унаследовано от QObject
Открытые функции
| QSignalTransition(QState *sourceState = Q_NULLPTR) | |
| QSignalTransition(const QObject *sender, const char *signal, QState *sourceState = Q_NULLPTR) | |
| ~QSignalTransition() | |
| QObject * | senderObject() const |
| void | setSenderObject(const QObject *sender) |
| void | setSignal(const QByteArray &signal) |
| QByteArray | signal() const |
- 11 открытых функций унаследованы от QAbstractTransition
- 31 открытых функций унаследованы от QObject
Сигналы
| void | senderObjectChanged() |
| void | signalChanged() |
- 3 сигнала унаследованы от QAbstractTransition
- 2 сигнала унаследованы от QObject
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) |
| virtual bool | eventTest(QEvent *event) |
| virtual void | onTransition(QEvent *event) |
- 3 защищённых функции унаследованы от QAbstractTransition
- 9 защищённых функций унаследованы от QObject
Дополнительные унаследованные члены
- 1 открытый слот унаследован от QObject
- 11 статических открытых членов унаследованы от QObject
- 3 защищённых функции унаследованы от QAbstractTransition
- 9 защищённых функций унаследованы от QObject
Подробное описание
Класс QSignalTransition предоставляет переход, основанный на сигнале Qt.
Обычно вы будете использовать перегрузку QState::addTransition(), которая принимает отправителя и сигнал в качестве аргументов, а не создавать объекты QSignalTransition напрямую. QSignalTransition является частью Фреймворка машины состояний.
Вы можете наследовать от QSignalTransition и переопределить eventTest(), чтобы сделать переход по сигналу условным; объект события, переданный в eventTest(), будет объектом QStateMachine::SignalEvent. Пример:
class CheckedTransition : public QSignalTransition
{
public:
CheckedTransition(QCheckBox *check)
: QSignalTransition(check, SIGNAL(stateChanged(int))) {}
protected:
bool eventTest(QEvent *e) {
if (!QSignalTransition::eventTest(e))
return false;
QStateMachine::SignalEvent *se = static_cast<QStateMachine::SignalEvent*>(e);
return (se->arguments().at(0).toInt() == Qt::Checked);
}
};
...
QCheckBox *check = new QCheckBox();
check->setTristate(true);
QState *s1 = new QState();
QState *s2 = new QState();
CheckedTransition *t1 = new CheckedTransition(check);
t1->setTargetState(s2);
s1->addTransition(t1); Документация по свойствам
senderObject : QObject *
Это свойство содержит объект-отправитель, с которым связан этот переход по сигналу
Функции доступа:
| QObject * | senderObject() const |
| void | setSenderObject(const QObject *sender) |
Сигнал уведомления:
| void | senderObjectChanged() | [см. примечание ниже] |
Примечание: Это частный сигнал. Он может использоваться в подключениях сигналов, но не может быть испущен пользователем.
signal : QByteArray
Это свойство содержит сигнал, с которым связан этот переход по сигналу
Функции доступа:
| QByteArray | signal() const |
| void | setSignal(const QByteArray &signal) |
Сигнал уведомления:
| void | signalChanged() | [см. примечание ниже] |
Примечание: Это частный сигнал. Он может использоваться в подключениях сигналов, но не может быть испущен пользователем.
Документация по функциям-членам
QSignalTransition::QSignalTransition(QState *sourceState = Q_NULLPTR)
Создаёт новый переход по сигналу с заданным sourceState.
QSignalTransition::QSignalTransition(const QObject *sender, const char *signal, QState *sourceState = Q_NULLPTR)
Создаёт новый переход по сигналу, связанный с заданным signal заданного sender и с заданным sourceState.
QSignalTransition::~QSignalTransition()
Уничтожает этот переход по сигналу.
[virtual protected] bool QSignalTransition::event(QEvent *e)
Переопределено из QObject::event().
[virtual protected] bool QSignalTransition::eventTest(QEvent *event)
Переопределено из QAbstractTransition::eventTest().
Стандартная реализация возвращает true, если event — это объект QStateMachine::SignalEvent, и отправитель и индекс сигнала события совпадают с этим переходом, и возвращает false в противном случае.
[virtual protected] void QSignalTransition::onTransition(QEvent *event)
Переопределено из QAbstractTransition::onTransition().
QObject *QSignalTransition::senderObject() const
Возвращает объект-отправитель, связанный с этим переходом по сигналу.
Примечание: Функция-геттер для свойства senderObject.
См. также setSenderObject().
[signal] void QSignalTransition::senderObjectChanged()
Этот сигнал испускается при изменении свойства senderObject.
Эта функция была добавлена в Qt 5.4.
Примечание: Это частный сигнал. Он может использоваться в подключениях сигналов, но не может быть испущен пользователем.
Примечание: Сигнал уведомления для свойства senderObject.
См. также QSignalTransition::senderObject.
void QSignalTransition::setSenderObject(const QObject *sender)
Устанавливает объект sender, связанный с этим переходом сигнала.
Примечание: Функция-сеттер для свойства senderObject.
См. также senderObject().
void QSignalTransition::setSignal(const QByteArray &signal)
Устанавливает сигнал, связанный с этим переходом сигнала.
Примечание: Функция-сеттер для свойства signal.
См. также signal().
QByteArray QSignalTransition::signal() const
Возвращает сигнал, связанный с этим переходом сигнала.
Примечание: Функция-геттер для свойства signal.
См. также setSignal().
[signal] void QSignalTransition::signalChanged()
Этот сигнал отправляется при изменении свойства signal.
Эта функция была добавлена в Qt 5.4.
Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть отправлен пользователем.
Примечание: Сигнал-уведомление для свойства signal.
См. также QSignalTransition::signal.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qsignaltransition.html