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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
<!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>Qt Toolkit - QSignal Class</title><style type="text/css"><!--
h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }body { background: white; color: black; }
--></style>
</head><body bgcolor="#ffffff">
<table width="100%">
<tr><td><a href="index.html">
<img width="100" height="100" src="qtlogo.png"
alt="Home" border="0"><img width="100"
height="100" src="face.png" alt="Home" border="0">
</a><td valign=top><div align=right><img src="dochead.png" width="472" height="27"><br>
<a href="classes.html"><b>Classes</b></a>
-<a href="annotated.html">Annotated</a>
- <a href="hierarchy.html">Tree</a>
-<a href="functions.html">Functions</a>
-<a href="index.html">Home</a>
-<a href="topicals.html"><b>Structure</b></a>
</div>
</table>
<h1 align=center>QSignal Class Reference</h1><br clear="all">
<p>
The QSignal class can be used to send signals without parameters.
<a href="#details">More...</a>
<p>
<code>#include <<a href="qsignal-h.html">qsignal.h</a>></code>
<p><a href="qsignal-members.html">List of all member functions.</a>
<h2>Public Members</h2>
<ul>
<li><div class="fn"><a href="#5d5636"><b>QSignal</b></a>(QObject*parent=0, constchar*name=0)</div>
<li><div class="fn"><a href="#f37d61"><b>~QSignal</b></a>()</div>
<li><div class="fn">constchar*<a href="#599025"><b>name</b></a>()const</div>
<li><div class="fn">virtualvoid<a href="#5e96d5"><b>setName</b></a>(constchar*name)</div>
<li><div class="fn">bool<a href="#50f483"><b>connect</b></a>(constQObject*receiver, constchar*member)</div>
<li><div class="fn">bool<a href="#8e558a"><b>disconnect</b></a>(constQObject*receiver, constchar*member=0)</div>
<li><div class="fn">bool<a href="#cd8c57"><b>isBlocked</b></a>()const</div>
<li><div class="fn">void<a href="#8f5269"><b>block</b></a>(boolb)</div>
<li><div class="fn">void<a href="#6d4413"><b>activate</b></a>()</div>
<li><div class="fn">void<a href="#43033f"><b>setParameter</b></a>(intvalue)</div>
<li><div class="fn">int<a href="#c639aa"><b>parameter</b></a>()const</div>
</ul>
<hr><h2><a name="details"></a>Detailed Description</h2>
The QSignal class can be used to send signals without parameters.
<p>
QSignal is a simple extension of <a href="qobject.html">QObject</a> that can send plain signals
without parameters. If you want to send signals from a class that does
not inherit QObject, you can create an internal QSignal object to emit
the signal. You must also provide a function that connects the signal to
an outside object slot. This is how we have implemented signals in the
<a href="qmenudata.html">QMenuData</a> class, which is not a QObject.
<p>In general, we recommend inheriting QObject instead. QObject provides
much more functionality.
<p>Note that QObject is a <em>private</em> base class of QSignal, i.e. you cannot
call any QObject member functions from a QSignal object.
<p>Example:
<pre> #include <qsignal.h>
class MyClass
{
public:
MyClass();
~MyClass();
void doSomething();
void connect( <a href="qobject.html">QObject</a> *receiver, const char *member );
private:
<a href="qsignal.html">QSignal</a> *sig;
};
MyClass::MyClass()
{
sig = new <a href="qsignal.html">QSignal</a>;
}
MyClass::~MyClass()
{
delete sig;
}
void MyClass::doSomething()
{
// ... does something
sig-><a href="#6d4413">activate</a>(); // activates the signal
}
void MyClass::connect( <a href="qobject.html">QObject</a> *receiver, const char *member )
{
sig-><a href="#50f483">connect</a>( receiver, member );
}
</pre>
<hr><h2>Member Function Documentation</h2>
<h3 class="fn"><a name="5d5636"></a>QSignal::QSignal(<a href="qobject.html">QObject</a>*parent=0, constchar*name=0)</h3>
<p>Constructs a signal object with the parent object <em>parent</em> and a <em>name.</em>
These arguments are passed directly to <a href="qobject.html">QObject</a>.
<h3 class="fn"><a name="f37d61"></a>QSignal::~QSignal()</h3>
<p>Destructs the signal. All connections are removed, as is the case
with all QObjects.
<h3 class="fn">void<a name="6d4413"></a>QSignal::activate()</h3>
<p>Emits the signal.
<p>See also <a href="#cd8c57">isBlocked</a>().
<h3 class="fn">void<a name="8f5269"></a>QSignal::block(boolb)</h3>
<p>Blocks the signal if <em>b</em> is TRUE, or unblocks the signal if <em>b</em> is FALSE.
<p>An activated signal disappears into hyperspace if it is blocked.
<p>See also <a href="#cd8c57">isBlocked</a>(), <a href="#6d4413">activate</a>() and <a href="qobject.html#03d9ac">QObject::blockSignals</a>().
<h3 class="fn">bool<a name="50f483"></a>QSignal::connect(const<a href="qobject.html">QObject</a>*receiver, constchar*member)</h3>
<p>Connects the signal to <em>member</em> in object <em>receiver.</em>
<p>See also <a href="#8e558a">disconnect</a>() and <a href="qobject.html#7f8e37">QObject::connect</a>().
<h3 class="fn">bool<a name="8e558a"></a>QSignal::disconnect(const<a href="qobject.html">QObject</a>*receiver, constchar*member=0)</h3>
<p>Disonnects the signal from <em>member</em> in object <em>receiver.</em>
<p>See also <a href="#50f483">connect</a>() and <a href="qobject.html#3ca0ec">QObject::disconnect</a>().
<h3 class="fn">bool<a name="cd8c57"></a>QSignal::isBlocked()const</h3>
<p>Returns TRUE if the signal is blocked, or FALSE if it is not blocked.
<p>The signal is not blocked by default.
<p>See also <a href="#8f5269">block</a>() and <a href="qobject.html#d714f8">QObject::signalsBlocked</a>().
<h3 class="fn">constchar*<a name="599025"></a>QSignal::name()const</h3>
<p>Returns the name of this signal object.
<p>Since <a href="qobject.html">QObject</a> is a private base class, we have added this function, which
calls <a href="qobject.html#53d9cc">QObject::name</a>().
<h3 class="fn">int<a name="c639aa"></a>QSignal::parameter()const</h3>
<p>Returns the signal's parameter.
<h3 class="fn">void<a name="5e96d5"></a>QSignal::setName(constchar*name) <code>[virtual]</code></h3>
<p>Sets the name of this signal object to <em>name.</em>
<p>Since <a href="qobject.html">QObject</a> is a private base class, we have added this function, which
calls <a href="qobject.html#ceac81">QObject::setName</a>().
<p>Reimplemented from <a href="qobject.html#ceac81">QObject.</a>
<h3 class="fn">void<a name="43033f"></a>QSignal::setParameter(intvalue)</h3>
<p>Sets the signal's parameter to <em>value</em>
<hr><p>
Search the documentation, FAQ, qt-interest archive and more (uses
<a href="http://www.trolltech.com">www.trolltech.com</a>):<br>
<form method=post action="http://www.trolltech.com/search.cgi">
<input type=hidden name="version" value="2.3.2"><nobr>
<input size="50" name="search"><input type=submit value="Search">
</nobr></form><hr><p>
This file is part of the <a href="index.html">Qt toolkit</a>,
copyright © 1995-2001
<a href="http://www.trolltech.com">Trolltech</a>, all rights reserved.<p><address><hr><div align="center">
<table width="100%" cellspacing="0" border="0"><tr>
<td>Copyright 2001 Trolltech<td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a>
<td align="right"><div align="right">Qt version 2.3.2</div>
</table></div></address></body></html>
|