Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-updates > by-pkgid > 6e2327ca1c896c6d674ae53117299f21 > files > 122

qtdeclarative5-doc-5.12.6-1.mga7.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- signaltransition.cpp -->
  <title>SignalTransition QML Type | Qt QML 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="qtqml-index.html">Qt QML</a></td><td ><a href="qtqml-qmlmodule.html">QML Types</a></td><td >SignalTransition QML Type</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtqml-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="#details">Detailed Description</a></li>
<li class="level2"><a href="#example-usage">Example Usage</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">SignalTransition QML Type</h1>
<span class="subtitle"></span>
<!-- $$$SignalTransition-brief -->
<p>The <a href="qml-qtqml-statemachine-signaltransition.html">SignalTransition</a> type provides a transition based on a Qt signal. <a href="#details">More...</a></p>
<!-- @@@SignalTransition -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Import Statement:</td><td class="memItemRight bottomAlign"> import QtQml.StateMachine 1.12</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign">  Qt 5.4</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <p><a href="qml-qtqml-statemachine-qsignaltransition.html">QSignalTransition</a></p>
</td></tr></table></div><ul>
<li><a href="qml-qtqml-statemachine-signaltransition-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="properties"></a>
<h2 id="properties">Properties</h2>
<ul>
<li class="fn"><b><b><a href="qml-qtqml-statemachine-signaltransition.html#guard-prop">guard</a></b></b> : bool</li>
<li class="fn"><b><b><a href="qml-qtqml-statemachine-signaltransition.html#signal-prop">signal</a></b></b> : signal</li>
</ul>
<!-- $$$SignalTransition-description -->
<a name="details"></a>
<h2 id="details">Detailed Description</h2>
<p><a href="qml-qtqml-statemachine-signaltransition.html">SignalTransition</a> is part of <a href="qmlstatemachine.html">The Declarative State Machine Framework</a>.</p>
<a name="example-usage"></a>
<h2 id="example-usage">Example Usage</h2>
<pre class="qml">

  import QtQuick 2.0
  import QtQml.StateMachine 1.0 as DSM

  Rectangle {
      DSM.StateMachine {
          id: stateMachine
          initialState: state
          running: true
          DSM.State {
              id: state
              DSM.SignalTransition {
                  targetState: finalState
                  signal: button.clicked
                  guard: guardButton.checked
              }
          }
          DSM.FinalState {
              id: finalState
          }
          onFinished: Qt.quit()
      }
      Row {
          spacing: 2
          Button {
              id: button
              text: "Finish state"
          }

          Button {
              id: guardButton
              checkable: true
              text: checked ? "Press to block the SignalTransition" : "Press to unblock the SignalTransition"
          }
      }
  }

</pre>
<br style="clear: both" /><p><b>See also </b><a href="qml-qtqml-statemachine-statemachine.html">StateMachine</a>, <a href="qml-qtqml-statemachine-finalstate.html">FinalState</a>, and <a href="qml-qtqml-statemachine-timeouttransition.html">TimeoutTransition</a>.</p>
<!-- @@@SignalTransition -->
<h2>Property Documentation</h2>
<!-- $$$guard -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="guard-prop">
<td class="tblQmlPropNode"><p>
<a name="guard-prop"></a><span class="name">guard</span> : <span class="type"><a href="qml-bool.html">bool</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>Guard conditions affect the behavior of a state machine by enabling transitions only when they evaluate to true and disabling them when they evaluate to false.</p>
<p>When the signal associated with this signal transition is emitted the guard condition is evaluated. In the guard condition the arguments of the signal can be used as demonstrated in the example below.</p>
<pre class="qml">

  import QtQuick 2.0
  import QtQml.StateMachine 1.0 as DSM

  Rectangle {
      Button {
          anchors.fill: parent
          id: button
          DSM.StateMachine {
              DSM.State {
                  DSM.SignalTransition {
                      targetState: finalState
                      signal: button.mysignal
                      // the guard condition uses the mystr string argument from mysignal
                      guard: mystr == "test"
                  }
              }
              DSM.FinalState {
                  id: finalState
              }
          }
          // define the signal the SignalTransition is connected with
          signal mysignal(string mystr)
          // on clicking the button emit the signal with a single string argument
          onClicked: button.mysignal("test")
      }
  }

</pre>
<p><b>See also </b><a href="qml-qtqml-statemachine-signaltransition.html#signal-prop">signal</a>.</p>
</div></div><!-- @@@guard -->
<br/>
<!-- $$$signal -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="signal-prop">
<td class="tblQmlPropNode"><p>
<a name="signal-prop"></a><span class="name">signal</span> : <span class="type">signal</span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The signal which is associated with this signal transition.</p>
<pre class="qml">

  import QtQuick 2.0
  import QtQml.StateMachine 1.0 as DSM

  Rectangle {
      Button {
          anchors.fill: parent
          id: button
          DSM.StateMachine {
              DSM.State {
                  DSM.SignalTransition {
                      targetState: finalState
                      signal: button.clicked
                  }
              }
              DSM.FinalState {
                  id: finalState
              }
          }
      }
  }

</pre>
</div></div><!-- @@@signal -->
<br/>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</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>