File: qml-extending-tutorial7.html

package info (click to toggle)
qt4-x11 4%3A4.8.2%2Bdfsg-11
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 701,696 kB
  • sloc: cpp: 2,686,179; ansic: 375,485; python: 25,859; sh: 19,349; xml: 17,091; perl: 14,765; yacc: 5,383; asm: 5,038; makefile: 1,259; lex: 555; ruby: 526; objc: 347; cs: 112; pascal: 112; php: 54; sed: 34
file content (75 lines) | stat: -rw-r--r-- 3,972 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- extending-tutorial.qdoc -->
  <title>Qt 4.8: Chapter 7: In Summary</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="content"> 
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
  </div>
  <div class="breadcrumb toolblock">
    <ul>
      <li class="first"><a href="index.html">Home</a></li>
      <!--  Breadcrumbs go here -->
<li>Chapter 7: In Summary</li>
    </ul>
  </div>
</div>
<div class="content mainContent">
<h1 class="title">Chapter 7: In Summary</h1>
<span class="subtitle"></span>
<!-- $$$qml-extending-tutorial7.html-description -->
<div class="descr"> <a name="details"></a>
<p>In this tutorial, we've shown the basic steps for creating a QML extension:</p>
<ul>
<li>Define new QML types by subclassing <a href="qobject.html">QObject</a> and registering them with <a href="qdeclarativeengine.html#qmlRegisterType">qmlRegisterType</a>()</li>
<li>Add callable methods using <a href="qobject.html#Q_INVOKABLE">Q_INVOKABLE</a> or Qt slots, and connect to Qt signals with an <tt>onSignal</tt> syntax</li>
<li>Add property bindings by defining <a href="properties.html#qt-s-property-system">NOTIFY</a> signals</li>
<li>Define custom property types if the built-in types are not sufficient</li>
<li>Define list property types using <a href="qdeclarativelistproperty.html">QDeclarativeListProperty</a></li>
<li>Create a plugin library by defining a Qt plugin and writing a <tt>qmldir</tt> file</li>
</ul>
<p>The <a href="qml-extending.html">Extending QML Functionalities using C++</a> reference documentation shows other useful features that can be added to QML extensions. For example, we could use <a href="qml-extending.html#default-property">default properties</a> to allow slices to be added without using the <tt>slices</tt> property:</p>
<pre class="cpp"> PieChart {
     PieSlice { <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span> }
     PieSlice { <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span> }
     PieSlice { <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span> }
 }</pre>
<p>Or randomly add and remove slices from time to time using <a href="qml-extending.html#property-value-sources">property value sources</a>:</p>
<pre class="cpp"> PieChart {
     PieSliceRandomizer on slices {}
 }</pre>
<p>See the <a href="qml-extending.html">Extending QML Functionalities using C++</a> reference documentation for more information.</p>
</div>
<!-- @@@qml-extending-tutorial7.html -->
  <div class="ft">
    <span></span>
  </div>
</div> 
<div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2012 Nokia Corporation and/or its
      subsidiaries. Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      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.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Nokia, Qt and their respective logos are trademarks of Nokia Corporation 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
</div>
</body>
</html>