Описание класса QSignalTransition
|
QSignalTransition ( QState * sourceState = 0 ) | |
QSignalTransition ( QObject * sender, const char * signal, QState * sourceState = 0 ) | |
~QSignalTransition () | |
QObject * | senderObject () const |
void | setSenderObject ( QObject * sender ) |
void | setSignal ( const QByteArray & signal ) |
QByteArray | signal () const |
virtual bool | event ( QEvent * e ) |
virtual bool | eventTest ( QEvent * event ) |
virtual void | onTransition ( QEvent * event ) |
Класс QSignalTransition предоставляет переход, основанный на сигнале Qt.
Обычно, вы будете использовать перегруженную функцию QtState::addTransition(), которая принимает в качестве аргументов объект-отправитель и сигнал, вместо непосредственного создания объекта QSignalTransition. QSignalTransition - часть Структуры State Machine.
Вы можете создать подкласс от 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);
Это свойство содержит объект-отправитель, который связан с этим переходом по сигналу.
Функции доступа:
QObject * | senderObject () const |
void | setSenderObject ( QObject * sender ) |
Это свойство содержит сигнал, который связан с этим переходом по сигналу.
Функции доступа:
QByteArray | signal () const |
void | setSignal ( const QByteArray & signal ) |
Конструирует новый переход по сигналу с заданным начальным состоянием - sourceState.
Конструирует новый переход по сигналу, связаный с заданным сигналом - signal, заданного отправителя - sender, и с заданным начальным состоянием - sourceState.
Уничтожает этот переход.
Переопределено от QObject::event().
Переопределено из QAbstractTransition::eventTest().
Реализация по умолчанию возвращает true, если событие (event) является объектом QStateMachine::SignalEvent, а источник события и индекс сигнала соответствуют этому переходу, в противном случае возвращает false.
Переопределено из QAbstractTransition::onTransition().
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |