Описание класса 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().
| Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies) | Торговые марки | Qt 4.6.4 |
|
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |