<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qabstractstate.cpp --> <title>QAbstractState Class | Qt Core 5.12.6</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.12</td><td ><a href="qtcore-index.html">Qt Core</a></td><td ><a href="qtcore-module.html">C++ Classes</a></td><td >QAbstractState</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtcore-index.html">Qt 5.12.6 Reference Documentation</a></td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#properties">Properties</a></li> <li class="level1"><a href="#public-functions">Public Functions</a></li> <li class="level1"><a href="#signals">Signals</a></li> <li class="level1"><a href="#static-public-members">Static Public Members</a></li> <li class="level1"><a href="#protected-functions">Protected Functions</a></li> <li class="level1"><a href="#reimplemented-protected-functions">Reimplemented Protected Functions</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> <li class="level2"><a href="#subclassing">Subclassing</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QAbstractState Class</h1> <!-- $$$QAbstractState-brief --> <p>The <a href="qabstractstate.html">QAbstractState</a> class is the base class of states of a <a href="qstatemachine.html">QStateMachine</a>. <a href="#details">More...</a></p> <!-- @@@QAbstractState --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QAbstractState></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += core</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 4.6</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <a href="qobject.html">QObject</a></td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherited By:</td><td class="memItemRight bottomAlign"> <p><a href="qfinalstate.html">QFinalState</a>, <a href="qhistorystate.html">QHistoryState</a>, and <a href="qstate.html">QState</a></p> </td></tr></table></div><ul> <li><a href="qabstractstate-members.html">List of all members, including inherited members</a></li> <li><a href="qabstractstate-obsolete.html">Obsolete members</a></li> </ul> <a name="properties"></a> <h2 id="properties">Properties</h2> <ul> <li class="fn"><b><a href="qabstractstate.html#active-prop">active</a></b> : const bool</li> </ul> <ul> <li class="fn">1 property inherited from <a href="qobject.html#properties">QObject</a></li> </ul> <a name="public-functions"></a> <h2 id="public-functions">Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> virtual </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#dtor.QAbstractState">~QAbstractState</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#active">active</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QStateMachine *</td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#machine">machine</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QState *</td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#parentState">parentState</a></b>() const</td></tr> </table></div> <ul> <li class="fn">32 public functions inherited from <a href="qobject.html#public-functions">QObject</a></li> </ul> <a name="signals"></a> <h2 id="signals">Signals</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#activeChanged">activeChanged</a></b>(bool <i>active</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#entered">entered</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#exited">exited</a></b>()</td></tr> </table></div> <ul> <li class="fn">2 signals inherited from <a href="qobject.html#signals">QObject</a></li> </ul> <a name="static-public-members"></a> <h2 id="static-public-members">Static Public Members</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> const QMetaObject </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#staticMetaObject-var">staticMetaObject</a></b></td></tr> </table></div> <ul> <li class="fn">10 static public members inherited from <a href="qobject.html#static-public-members">QObject</a></li> </ul> <a name="protected-functions"></a> <h2 id="protected-functions">Protected Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#QAbstractState">QAbstractState</a></b>(QState *<i>parent</i> = nullptr)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#onEntry">onEntry</a></b>(QEvent *<i>event</i>) = 0</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#onExit">onExit</a></b>(QEvent *<i>event</i>) = 0</td></tr> </table></div> <a name="reimplemented-protected-functions"></a> <h2 id="reimplemented-protected-functions">Reimplemented Protected Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> virtual bool </td><td class="memItemRight bottomAlign"><b><a href="qabstractstate.html#event">event</a></b>(QEvent *<i>e</i>) override</td></tr> </table></div> <ul> <li class="fn">9 protected functions inherited from <a href="qobject.html#protected-functions">QObject</a></li> </ul> <h3>Additional Inherited Members</h3> <ul> <li class="fn">1 public slot inherited from <a href="qobject.html#public-slots">QObject</a></li> </ul> <a name="details"></a> <!-- $$$QAbstractState-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qabstractstate.html">QAbstractState</a> class is the base class of states of a <a href="qstatemachine.html">QStateMachine</a>.</p> <p>The <a href="qabstractstate.html">QAbstractState</a> class is the abstract base class of states that are part of a <a href="qstatemachine.html">QStateMachine</a>. It defines the interface that all state objects have in common. <a href="qabstractstate.html">QAbstractState</a> is part of <a href="statemachine-api.html">The State Machine Framework</a>.</p> <p>The <a href="qabstractstate.html#entered">entered</a>() signal is emitted when the state has been entered. The <a href="qabstractstate.html#exited">exited</a>() signal is emitted when the state has been exited.</p> <p>The <a href="qabstractstate.html#parentState">parentState</a>() function returns the state's parent state. The <a href="qabstractstate.html#machine">machine</a>() function returns the state machine that the state is part of.</p> <a name="subclassing"></a> <h3 >Subclassing</h3> <p>The <a href="qabstractstate.html#onEntry">onEntry</a>() function is called when the state is entered; reimplement this function to perform custom processing when the state is entered.</p> <p>The <a href="qabstractstate.html#onExit">onExit</a>() function is called when the state is exited; reimplement this function to perform custom processing when the state is exited.</p> </div> <!-- @@@QAbstractState --> <div class="prop"> <h2>Property Documentation</h2> <!-- $$$active-prop$$$active$$$activeChangedbool --> <h3 class="fn" id="active-prop"><a name="active-prop"></a><span class="name">active</span> : const <span class="type">bool</span></h3> <p>This property holds the active property of this state. A state is active between <a href="qabstractstate.html#entered">entered</a>() and <a href="qabstractstate.html#exited">exited</a>() signals.</p> <p>This property was introduced in Qt 5.4.</p> <p><b>Access functions:</b></p> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qabstractstate.html#active">active</a></b></span>() const</td></tr> </table></div> <p><b>Notifier signal:</b></p> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qabstractstate.html#activeChanged">activeChanged</a></b></span>(bool <i>active</i>)</td></tr> </table></div> <!-- @@@active --> </div> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QAbstractState[overload1]$$$QAbstractStateQState* --> <h3 class="fn" id="QAbstractState"><a name="QAbstractState"></a><code>[protected] </code>QAbstractState::<span class="name">QAbstractState</span>(<span class="type"><a href="qstate.html">QState</a></span> *<i>parent</i> = nullptr)</h3> <p>Constructs a new state with the given <i>parent</i> state.</p> <!-- @@@QAbstractState --> <!-- $$$~QAbstractState[overload1]$$$~QAbstractState --> <h3 class="fn" id="dtor.QAbstractState"><a name="dtor.QAbstractState"></a><code>[virtual] </code>QAbstractState::<span class="name">~QAbstractState</span>()</h3> <p>Destroys this state.</p> <!-- @@@~QAbstractState --> <!-- $$$active --> <h3 class="fn" id="active"><a name="active"></a><span class="type">bool</span> QAbstractState::<span class="name">active</span>() const</h3> <p>Returns whether this state is active.</p> <p><b>Note:</b> Getter function for property <a href="qabstractstate.html#active-prop">active</a>. </p><p><b>See also </b><a href="qabstractstate.html#activeChanged">activeChanged</a>(bool), <a href="qabstractstate.html#entered">entered</a>(), and <a href="qabstractstate.html#exited">exited</a>().</p> <!-- @@@active --> <!-- $$$activeChanged --> <h3 class="fn" id="activeChanged"><a name="activeChanged"></a><code>[signal] </code><span class="type">void</span> QAbstractState::<span class="name">activeChanged</span>(<span class="type">bool</span> <i>active</i>)</h3> <p>This signal is emitted when the active property is changed with <i>active</i> as argument.</p> <p>This function was introduced in Qt 5.4.</p> <p><b>Note:</b> Notifier signal for property <a href="qabstractstate.html#active-prop">active</a>. </p><p><b>See also </b><a href="qabstractstate.html#active-prop">QAbstractState::active</a>, <a href="qabstractstate.html#entered">entered</a>(), and <a href="qabstractstate.html#exited">exited</a>().</p> <!-- @@@activeChanged --> <!-- $$$entered[overload1]$$$entered --> <h3 class="fn" id="entered"><a name="entered"></a><code>[signal] </code><span class="type">void</span> QAbstractState::<span class="name">entered</span>()</h3> <p>This signal is emitted when the state has been entered (after <a href="qabstractstate.html#onEntry">onEntry</a>() has been called).</p> <p><b>Note: </b>This is a private signal. It can be used in signal connections but cannot be emitted by the user.</p> <!-- @@@entered --> <!-- $$$event[overload1]$$$eventQEvent* --> <h3 class="fn" id="event"><a name="event"></a><code>[override virtual protected] </code><span class="type">bool</span> QAbstractState::<span class="name">event</span>(<span class="type"><a href="qevent.html">QEvent</a></span> *<i>e</i>)</h3> <p>Reimplemented from <a href="qobject.html#event">QObject::event</a>().</p> <!-- @@@event --> <!-- $$$exited[overload1]$$$exited --> <h3 class="fn" id="exited"><a name="exited"></a><code>[signal] </code><span class="type">void</span> QAbstractState::<span class="name">exited</span>()</h3> <p>This signal is emitted when the state has been exited (after <a href="qabstractstate.html#onExit">onExit</a>() has been called).</p> <p><b>Note: </b>This is a private signal. It can be used in signal connections but cannot be emitted by the user.</p> <!-- @@@exited --> <!-- $$$machine[overload1]$$$machine --> <h3 class="fn" id="machine"><a name="machine"></a><span class="type"><a href="qstatemachine.html">QStateMachine</a></span> *QAbstractState::<span class="name">machine</span>() const</h3> <p>Returns the state machine that this state is part of, or 0 if the state is not part of a state machine.</p> <!-- @@@machine --> <!-- $$$onEntry[overload1]$$$onEntryQEvent* --> <h3 class="fn" id="onEntry"><a name="onEntry"></a><code>[pure virtual protected] </code><span class="type">void</span> QAbstractState::<span class="name">onEntry</span>(<span class="type"><a href="qevent.html">QEvent</a></span> *<i>event</i>)</h3> <p>This function is called when the state is entered. The given <i>event</i> is what caused the state to be entered. Reimplement this function to perform custom processing when the state is entered.</p> <!-- @@@onEntry --> <!-- $$$onExit[overload1]$$$onExitQEvent* --> <h3 class="fn" id="onExit"><a name="onExit"></a><code>[pure virtual protected] </code><span class="type">void</span> QAbstractState::<span class="name">onExit</span>(<span class="type"><a href="qevent.html">QEvent</a></span> *<i>event</i>)</h3> <p>This function is called when the state is exited. The given <i>event</i> is what caused the state to be exited. Reimplement this function to perform custom processing when the state is exited.</p> <!-- @@@onExit --> <!-- $$$parentState[overload1]$$$parentState --> <h3 class="fn" id="parentState"><a name="parentState"></a><span class="type"><a href="qstate.html">QState</a></span> *QAbstractState::<span class="name">parentState</span>() const</h3> <p>Returns this state's parent state, or 0 if the state has no parent state.</p> <!-- @@@parentState --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> 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. </p> </div> </body> </html>