|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
|
|
<title>TQt Object Model</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>TQt Object Model</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p> The standard C++ Object Model provides very efficient runtime support
|
|
|
|
for the object paradigm. But the C++ Object Model's static nature is
|
|
|
|
inflexibile in certain problem domains. Graphical User Interface
|
|
|
|
programming is a domain that requires both runtime efficiency and a
|
|
|
|
high level of flexibility. TQt provides this, by combining the speed of
|
|
|
|
C++ with the flexibility of the TQt Object Model.
|
|
|
|
<p> TQt adds these features to C++:
|
|
|
|
<p> <ul>
|
|
|
|
<li> a very powerful mechanism for seamless object
|
|
|
|
communication called <a href="signalsandslots.html">signals and
|
|
|
|
slots</a>;
|
|
|
|
<li> queryable and designable <a href="properties.html">object
|
|
|
|
properties</a>;
|
|
|
|
<li> powerful <a href="eventsandfilters.html">events and event filters</a>,
|
|
|
|
<li> contextual <a href="i18n.html">string translation for internationalization</a>;
|
|
|
|
<li> sophisticated interval driven <a href="timers.html">timers</a>
|
|
|
|
that make it possible to elegantly integrate many tasks in an
|
|
|
|
event-driven GUI;
|
|
|
|
<li> hierarchical and queryable <a href="objecttrees.html">object
|
|
|
|
trees</a> that organize object ownership in a natural way;
|
|
|
|
<li> guarded pointers, <a href="tqguardedptr.html">TQGuardedPtr</a>, that are automatically
|
|
|
|
set to 0 when the referenced object is destroyed, unlike normal C++
|
|
|
|
pointers which become "dangling pointers" when their objects are destroyed.
|
|
|
|
</ul>
|
|
|
|
<p> Many of these TQt features are implemented with standard C++
|
|
|
|
techniques, based on inheritance from <a href="tqobject.html">TQObject</a>. Others, like the
|
|
|
|
object communication mechanism and the dynamic property system,
|
|
|
|
require the <a href="metaobjects.html">Meta Object System</a> provided
|
|
|
|
by TQt's own <a href="tqmoc.html">Meta Object Compiler (tqmoc)</a>.
|
|
|
|
<p> The Meta Object System is a C++ extension that makes the language
|
|
|
|
better suited to true component GUI programming. Although templates can
|
|
|
|
be used to extend C++, the Meta Object System provides benefits using
|
|
|
|
standard C++ that cannot be achieved with templates; see <a href="templates.html">Why doesn't TQt use templates for signals and
|
|
|
|
slots?</a>.
|
|
|
|
<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>
|