diff options
Diffstat (limited to 'doc/html/metaobjects.html')
-rw-r--r-- | doc/html/metaobjects.html | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/doc/html/metaobjects.html b/doc/html/metaobjects.html new file mode 100644 index 000000000..4b0e832d9 --- /dev/null +++ b/doc/html/metaobjects.html @@ -0,0 +1,93 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/metaobjects.doc:36 --> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Meta Object System</title> +<style type="text/css"><!-- +fn { margin-left: 1cm; text-indent: -1cm; } +a:link { color: #004faf; text-decoration: none } +a:visited { color: #672967; text-decoration: none } +body { background: #ffffff; color: black; } +--></style> +</head> +<body> + +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr bgcolor="#E5E5E5"> +<td valign=center> + <a href="index.html"> +<font color="#004faf">Home</font></a> + | <a href="classes.html"> +<font color="#004faf">All Classes</font></a> + | <a href="mainclasses.html"> +<font color="#004faf">Main Classes</font></a> + | <a href="annotated.html"> +<font color="#004faf">Annotated</font></a> + | <a href="groups.html"> +<font color="#004faf">Grouped Classes</font></a> + | <a href="functions.html"> +<font color="#004faf">Functions</font></a> +</td> +<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Meta Object System</h1> + + + +<p> <!-- index meta object --><a name="meta-object"></a><!-- index Q_OBJECT --><a name="Q_OBJECT"></a> +<p> TQt's Meta Object System provides the signals and slots mechanism for +inter-object communication, runtime type information, and the dynamic +property system. +<p> The Meta Object System is based on three things: +<ol type=1> +<li> the <a href="qobject.html">TQObject</a> class; +<li> the Q_OBJECT macro inside the private section of the class +declaration; +<li> the <a href="moc.html">Meta Object Compiler (moc)</a>. +</ol> +<p> The <em><a href="moc.html#moc">moc</a></em> reads a C++ source file. If it finds one or more class +declarations that contain the Q_OBJECT macro, it produces another C++ +source file which contains the meta object code for the classes that +contain the Q_OBJECT macro. This generated source file is either +#included into the class's source file or compiled and linked with the +class's implementation. +<p> In addition to providing the <a href="signalsandslots.html">signals and +slots</a> mechanism for communication between objects (the main +reason for introducing the system), the meta object code provides +additional features in TQObject: +<p> <ul> +<p> <li> the <a href="qobject.html#className">className()</a> function that +returns the class name as a string at runtime, without retquiring +native runtime type information (RTTI) support through the C++ +compiler. +<p> <li> the <a href="qobject.html#inherits">inherits()</a> function that +returns whether an object is an instance of a class that inherits a +specified class within the <a href="qobject.html">TQObject</a> inheritance tree. +<p> <li> the <a href="qobject.html#tr">tr()</a> and +<a href="qobject.html#trUtf8">trUtf8()</a> functions for string +translation as used for <a href="i18n.html#internationalization">internationalization</a>. +<p> <li> the <a href="qobject.html#setProperty">setProperty()</a> and <a href="qobject.html#property">property()</a> functions for dynamically +setting and getting <a href="properties.html">object properties</a> by +name. +<p> <li> the <a href="qobject.html#metaObject">metaObject()</a> function that +returns the associated <a href="qmetaobject.html">meta object</a> for the +class. +<p> </ul> +<p> While it is possible to use TQObject as a base class without the +Q_OBJECT macro and without meta object code, neither signals and slots +nor the other features described here will be available if the +Q_OBJECT macro is not used. From the meta object system's point of +view, a TQObject subclass without meta code is equivalent to its +closest ancestor with meta object code. This means for example, that +className() will not return the actual name of your class, but the +class name of this ancestor. We <em>strongly</em> recommend that all +subclasses of <a href="qobject.html">TQObject</a> use the Q_OBJECT macro regardless of whether +they actually use signals, slots and properties or not. +<p> +<!-- eof --> +<p><address><hr><div align=center> +<table width=100% cellspacing=0 border=0><tr> +<td>Copyright © 2007 +<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> +<td align=right><div align=right>TQt 3.3.8</div> +</table></div></address></body> +</html> |