QSignalTransition Class
QSignalTransition 클래스는 Qt 신호에 기반한 전환을 제공합니다. 더 보기...
Header: | #include <QSignalTransition> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake: | QT += statemachine |
상속합니다: | QAbstractTransition |
속성
- senderObject : const QObject*
- signal : QByteArray
공공 기능
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() |
QBindable<const QObject *> | bindableSenderObject() |
QBindable<QByteArray> | bindableSignal() |
const QObject * | senderObject() const |
void | setSenderObject(const QObject *sender) |
void | setSignal(const QByteArray &signal) |
QByteArray | signal() const |
신호
void | senderObjectChanged() |
void | signalChanged() |
재구현된 보호 기능
virtual bool | event(QEvent *e) override |
virtual bool | eventTest(QEvent *event) override |
virtual void | onTransition(QEvent *event) override |
상세 설명
일반적으로 QSignalTransition 객체를 직접 만드는 대신 발신자와 신호를 인수로 받는 QState::addTransition()의 오버로드를 사용합니다. QSignalTransition은 Qt 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);
속성 문서
[bindable]
senderObject : const QObject*
참고: 이 속성은 QProperty 바인딩을 지원합니다.
이 프로퍼티는 이 신호 전환이 연결된 발신자 개체를 보유합니다.
[bindable]
signal : QByteArray
참고: 이 프로퍼티는 QProperty 바인딩을 지원합니다.
이 프로퍼티는 이 신호 전환이 연관된 신호를 보유합니다.
멤버 함수 문서
QSignalTransition::QSignalTransition(QState *sourceState = nullptr)
주어진 sourceState 으로 새로운 신호 전환을 구성합니다.
QSignalTransition::QSignalTransition(const QObject *sender, const char *signal, QState *sourceState = nullptr)
주어진 sender 의 주어진 signal 과 주어진 sourceState 와 연관된 새로운 신호 전환을 구축합니다 .
template <typename PointerToMemberFunction> QSignalTransition::QSignalTransition(const QObject *sender, PointerToMemberFunction signal, QState *sourceState = nullptr)
이것은 오버로드된 함수입니다.
주어진 sender 객체의 주어진 signal 및 주어진 sourceState 와 연관된 새로운 신호 전환을 생성합니다. 이 생성자는 컴파일러가 생성자 위임을 지원하는 경우, Q_COMPILER_DELEGATING_CONSTRUCTORS 매크로의 존재로 표시되는 것처럼 활성화됩니다.
[virtual noexcept]
QSignalTransition::~QSignalTransition()
이 신호 전환을 파괴합니다.
[override virtual protected]
bool QSignalTransition::event(QEvent *e)
다시 구현합니다: QAbstractTransition::event(QEvent *e).
[override virtual protected]
bool QSignalTransition::eventTest(QEvent *event)
다시 구현합니다: QAbstractTransition::eventTest(QEvent *event).
기본 구현은 event 이 QStateMachine::SignalEvent 객체이고 이벤트의 발신자 및 신호 인덱스가 이 전환과 일치하는 경우 true
을 반환하고 그렇지 않으면 false
을 반환합니다.
[override virtual protected]
void QSignalTransition::onTransition(QEvent *event)
다시 구현합니다: QAbstractTransition::onTransition(QEvent * 이벤트).
const QObject *QSignalTransition::senderObject() const
이 신호 전환과 연관된 발신자 객체를 반환합니다.
참고: senderObject 속성에 대한 게터 함수입니다.
setSenderObject()도 참조하세요 .
[private signal]
void QSignalTransition::senderObjectChanged()
이 신호는 senderObject 속성이 변경될 때 발생합니다.
참고: 이 신호는 비공개 신호입니다. 신호 연결에서 사용할 수 있지만 사용자가 발신할 수는 없습니다.
참고: 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
이 신호 전환과 관련된 신호를 반환합니다.
참고: 속성 신호에 대한 게터 함수입니다.
setSignal()도 참조하세요 .
[private signal]
void QSignalTransition::signalChanged()
이 신호는 신호 속성이 변경될 때 발신됩니다.
참고: 이 신호는 비공개 신호입니다. 신호 연결에서 사용할 수 있지만 사용자가 발신할 수는 없습니다.
참고: 속성 signal 에 대한 알림 신호입니다.
QSignalTransition::signal도 참조하세요 .
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.