Spec-Zone.ru › Qt 5.11

Класс QSignalTransition

Класс QSignalTransition предоставляет переход, основанный на сигнале Qt. Подробнее...

Заголовок: #include <QSignalTransition>
qmake: QT += core
С тех пор: Qt 4.6
Наследует: QAbstractTransition
  • Список всех членов, включая унаследованные

Свойства

  • senderObject : QObject*
  • signal : QByteArray
  • 4 свойства унаследованы от QAbstractTransition
  • 1 свойство унаследовано от QObject

Открытые функции

QSignalTransition(QState *sourceState = nullptr)
QSignalTransition(const QObject *sender, const char *signal, QState *sourceState = nullptr)
QSignalTransition(const QObject *sender, PointerToMemberFunction signal, QState *sourceState = nullptr)
virtual ~QSignalTransition()
QObject * senderObject() const
void setSenderObject(const QObject *sender)
void setSignal(const QByteArray &signal)
QByteArray signal() const
  • 11 открытых функций унаследованы от QAbstractTransition
  • 32 открытых функции унаследованы от QObject

Сигналы

void senderObjectChanged()
void signalChanged()
  • 3 сигнала унаследованы от QAbstractTransition
  • 2 сигнала унаследованы от QObject

Переопределённые защищённые функции

virtual bool event(QEvent *e) override
virtual bool eventTest(QEvent *event) override
virtual void onTransition(QEvent *event) override
  • 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 = nullptr)

Конструирует новый переход по сигналу с заданным sourceState.

QSignalTransition::QSignalTransition(const QObject *sender, const char *signal, QState *sourceState = nullptr)

Конструирует новый переход по сигналу, связанный с заданным signal заданного sender и заданным sourceState.

QSignalTransition::QSignalTransition(const QObject *sender, PointerToMemberFunction signal, QState *sourceState = nullptr)

Это перегруженная функция.

Конструирует новый переход по сигналу, связанный с заданным signal заданного объекта sender и заданным sourceState. Этот конструктор активируется, если компилятор поддерживает делегирование конструкторов, как указано наличием макроса Q_COMPILER_DELEGATING_CONSTRUCTORS.

Эта функция была введена в Qt 5.7.

[virtual] QSignalTransition::~QSignalTransition()

Удаляет этот переход по сигналу.

[override virtual protected] bool QSignalTransition::event(QEvent *e)

Переопределено из QAbstractTransition::event().

[override virtual protected] bool QSignalTransition::eventTest(QEvent *event)

Переопределено из QAbstractTransition::eventTest().

Реализация по умолчанию возвращает true, если event — это объект QStateMachine::SignalEvent и отправитель и индекс сигнала события соответствуют этому переходу, и возвращает false в противном случае.

[override 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.

См. также 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.11/qsignaltransition.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API