Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > a17d7a9648a6454ac7a4e82061019a9e > files > 27

qtwebchannel5-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" />
<!-- chatclient-qml.qdoc -->
  <title>Qt WebChannel ChatClient QML Example | Qt WebChannel 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="qtwebchannel-index.html">Qt WebChannel</a></td><td ><a href="qtwebchannel-examples.html">Qt WebChannel Examples</a></td><td >Qt WebChannel ChatClient QML Example</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtwebchannel-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="#running-the-example">Running the Example</a></li>
<li class="level1"><a href="#implementing-a-web-channel-client">Implementing a Web Channel Client</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Qt WebChannel ChatClient QML Example</h1>
<span class="subtitle"></span>
<!-- $$$chatclient-qml-brief -->
<p>A QML client that communicates over a WebSocket with a <a href="qwebchannel.html">QWebChannel</a> server.</p>
<!-- @@@chatclient-qml -->
<!-- $$$chatclient-qml-description -->
<div class="descr"> <a name="details"></a>
<p class="centerAlign"><img src="images/chatclient-qml.png" alt="" /></p><p><i>ChatClient QML</i> provides a simple <a href="qwebchannel.html">QWebChannel</a> client implemented using JavaScript and QML.</p>
<a name="running-the-example"></a>
<h2 id="running-the-example">Running the Example</h2>
<p>To run the example, enter the following command in the client source directory:</p>
<p><code>path/to/qmlscene qmlchatclient.qml</code></p>
<a name="implementing-a-web-channel-client"></a>
<h2 id="implementing-a-web-channel-client">Implementing a Web Channel Client</h2>
<p>The client initializes a WebSocket connection to the chat server and receives an object containing all the necessary signals, slots, and properties for implementing a chat client.</p>
<p>After login, the client can invoke the method <code>sendMessage</code> and receive the signal <code>newMessage</code> to send and receive messages. Furthermore, a <code>userList</code> property provides the names of all other connected clients. It is automatically updated when its contents change. Also, the client responds to the server's keep alive signal which is needed to detect disconnected clients and remove them from the <code>userList</code> property.</p>
<p>The example shows how basic elements can be used with the client JavaScript implementation of <a href="qwebchannel.html">QWebChannel</a>, like connecting to signals (<code>newMessage</code>), calling slots (<code>sendMessage</code>), and handling property changes (<code>userList</code>).</p>
<p>The client is able to work with the <a href="qtwebchannel-chatserver-cpp-example.html">Qt WebChannel ChatServer Example</a>.</p>
<p>Files:</p>
<ul>
<li><a href="qtwebchannel-chatclient-qml-loginform-ui-qml.html">chatclient-qml/LoginForm.ui.qml</a></li>
<li><a href="qtwebchannel-chatclient-qml-mainform-ui-qml.html">chatclient-qml/MainForm.ui.qml</a></li>
<li><a href="qtwebchannel-chatclient-qml-chatclient-qml-pro.html">chatclient-qml/chatclient-qml.pro</a></li>
<li><a href="qtwebchannel-chatclient-qml-qmlchatclient-qml.html">chatclient-qml/qmlchatclient.qml</a></li>
</ul>
</div>
<p><b>See also </b><a href="qtwebchannel-chatserver-cpp-example.html">Qt WebChannel ChatServer Example</a> and <a href="qtwebchannel-chatclient-html-example.html">Qt WebChannel ChatClient HTML Example</a>.</p>
<!-- @@@chatclient-qml -->
        </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>