⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qobject.html

📁 QT参考文档
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/src/kernel/qobject.cpp:92 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Translator" content="Cavendish">
<meta name="Qt zh_CN Documents Website" content="http://www.qiliang.net/qt">
<title>QObject类</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: #ffffff; color: black; font-family: "Times New Roman" }
--></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">主页</font></a>
 | <a href="classes.html">
<font color="#004faf">所有的类</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">主要的类</font></a>
 | <a href="annotated.html">
<font color="#004faf">注释的类</font></a>
 | <a href="groups.html">
<font color="#004faf">分组的类</font></a>
 | <a href="functions.html">
<font color="#004faf">函数</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>QObject类参考</h1>

<p>QObject类是所有Qt对象的基类。
<a href="#details">详情请见……</a>
<p><tt>#include &lt;<a href="qobject-h.html">qobject.h</a>&gt;</tt>
<p>继承了<a href="qt.html">Qt</a>。
<p>被<a href="qaccel.html">QAccel</a>、<a href="qaccessibleobject.html">QAccessibleObject</a>、<a href="qaction.html">QAction</a>、<a href="qapplication.html">QApplication</a>、<a href="qdatapump.html">QDataPump</a>、<a href="qwidget.html">QWidget</a>、<a href="qcanvas.html">QCanvas</a>、<a href="qstyle.html">QStyle</a>、<a href="qclipboard.html">QClipboard</a>、<a href="qcopchannel.html">QCopChannel</a>、<a href="qdns.html">QDns</a>、<a href="qlayout.html">QLayout</a>、<a href="qdragobject.html">QDragObject</a>、<a href="qeditorfactory.html">QEditorFactory</a>、<a href="qfileiconprovider.html">QFileIconProvider</a>、<a href="qnetworkprotocol.html">QNetworkProtocol</a>、<a href="qserversocket.html">QServerSocket</a>、<a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>、<a href="qnetworkoperation.html">QNetworkOperation</a>、<a href="qnpinstance.html">QNPInstance</a>、<a href="qobjectcleanuphandler.html">QObjectCleanupHandler</a>、<a href="qprocess.html">QProcess</a>、<a href="qsessionmanager.html">QSessionManager</a>、<a href="qsignal.html">QSignal</a>、<a href="qsignalmapper.html">QSignalMapper</a>、<a href="qsocket.html">QSocket</a>、<a href="qsocketnotifier.html">QSocketNotifier</a>、<a href="qsound.html">QSound</a>、<a href="qsqldatabase.html">QSqlDatabase</a>、<a href="qsqldriver.html">QSqlDriver</a>、<a href="qsqlform.html">QSqlForm</a>、<a href="qstylesheet.html">QStyleSheet</a>、<a href="qtimer.html">QTimer</a>、<a href="qtooltipgroup.html">QToolTipGroup</a>、<a href="qtranslator.html">QTranslator</a>、<a href="qurloperator.html">QUrlOperator</a>、<a href="qvalidator.html">QValidator</a>和<a href="qwsmousehandler.html">QWSMouseHandler</a>继承。
<p><a href="qobject-members.html">所有成员函数的列表。</a>
<h2>公有成员</h2>
<ul>
<li><div class=fn><a href="#QObject"><b>QObject</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</div></li>
<li><div class=fn>virtual <a href="#~QObject"><b>~QObject</b></a> ()</div></li>
<li><div class=fn>const char * <a href="#className"><b>className</b></a> () const</div></li>
<li><div class=fn>QString <a href="#tr"><b>tr</b></a> ( const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment ) const</div></li>
<li><div class=fn>QString <a href="#trUtf8"><b>trUtf8</b></a> ( const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment ) const</div></li>
<li><div class=fn>QMetaObject * <a href="#metaObject"><b>metaObject</b></a> () const</div></li>
<li><div class=fn>virtual bool <a href="#event"><b>event</b></a> ( QEvent&nbsp;*&nbsp;e )</div></li>
<li><div class=fn>virtual bool <a href="#eventFilter"><b>eventFilter</b></a> ( QObject&nbsp;*&nbsp;watched, QEvent&nbsp;*&nbsp;e )</div></li>
<li><div class=fn>bool <a href="#isA"><b>isA</b></a> ( const&nbsp;char&nbsp;*&nbsp;clname ) const</div></li>
<li><div class=fn>bool <a href="#inherits"><b>inherits</b></a> ( const&nbsp;char&nbsp;*&nbsp;clname ) const</div></li>
<li><div class=fn>const char * <a href="#name"><b>name</b></a> () const</div></li>
<li><div class=fn>const char * <a href="#name-2"><b>name</b></a> ( const&nbsp;char&nbsp;*&nbsp;defaultName ) const</div></li>
<li><div class=fn>virtual void <a href="#setName"><b>setName</b></a> ( const&nbsp;char&nbsp;*&nbsp;name )</div></li>
<li><div class=fn>bool <a href="#isWidgetType"><b>isWidgetType</b></a> () const</div></li>
<li><div class=fn>bool <a href="#highPriority"><b>highPriority</b></a> () const</div></li>
<li><div class=fn>bool <a href="#signalsBlocked"><b>signalsBlocked</b></a> () const</div></li>
<li><div class=fn>void <a href="#blockSignals"><b>blockSignals</b></a> ( bool&nbsp;block )</div></li>
<li><div class=fn>int <a href="#startTimer"><b>startTimer</b></a> ( int&nbsp;interval )</div></li>
<li><div class=fn>void <a href="#killTimer"><b>killTimer</b></a> ( int&nbsp;id )</div></li>
<li><div class=fn>void <a href="#killTimers"><b>killTimers</b></a> ()</div></li>
<li><div class=fn>QObject * <a href="#child"><b>child</b></a> ( const&nbsp;char&nbsp;*&nbsp;objName, const&nbsp;char&nbsp;*&nbsp;inheritsClass = 0, bool&nbsp;recursiveSearch = TRUE )</div></li>
<li><div class=fn>const QObjectList * <a href="#children"><b>children</b></a> () const</div></li>
<li><div class=fn>QObjectList * <a href="#queryList"><b>queryList</b></a> ( const&nbsp;char&nbsp;*&nbsp;inheritsClass = 0, const&nbsp;char&nbsp;*&nbsp;objName = 0, bool&nbsp;regexpMatch = TRUE, bool&nbsp;recursiveSearch = TRUE ) const</div></li>
<li><div class=fn>virtual void <a href="#insertChild"><b>insertChild</b></a> ( QObject&nbsp;*&nbsp;obj )</div></li>
<li><div class=fn>virtual void <a href="#removeChild"><b>removeChild</b></a> ( QObject&nbsp;*&nbsp;obj )</div></li>
<li><div class=fn>void <a href="#installEventFilter"><b>installEventFilter</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;obj )</div></li>
<li><div class=fn>void <a href="#removeEventFilter"><b>removeEventFilter</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;obj )</div></li>
<li><div class=fn>bool <a href="#connect-2"><b>connect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;char&nbsp;*&nbsp;member ) const</div></li>
<li><div class=fn>bool <a href="#disconnect-2"><b>disconnect</b></a> ( const&nbsp;char&nbsp;*&nbsp;signal = 0, const&nbsp;QObject&nbsp;*&nbsp;receiver = 0, const&nbsp;char&nbsp;*&nbsp;member = 0 )</div></li>
<li><div class=fn>bool <a href="#disconnect-3"><b>disconnect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )</div></li>
<li><div class=fn>void <a href="#dumpObjectTree"><b>dumpObjectTree</b></a> ()</div></li>
<li><div class=fn>void <a href="#dumpObjectInfo"><b>dumpObjectInfo</b></a> ()</div></li>
<li><div class=fn>virtual bool <a href="#setProperty"><b>setProperty</b></a> ( const&nbsp;char&nbsp;*&nbsp;name, const&nbsp;QVariant&nbsp;&amp;&nbsp;value )</div></li>
<li><div class=fn>virtual QVariant <a href="#property"><b>property</b></a> ( const&nbsp;char&nbsp;*&nbsp;name ) const</div></li>
<li><div class=fn>QObject * <a href="#parent"><b>parent</b></a> () const</div></li>
</ul>
<h2>公有槽</h2>
<ul>
<li><div class=fn>void <a href="#deleteLater"><b>deleteLater</b></a> ()</div></li>
</ul>
<h2>信号</h2>
<ul>
<li><div class=fn>void <a href="#destroyed"><b>destroyed</b></a> ()</div></li>
<li><div class=fn>void <a href="#destroyed-2"><b>destroyed</b></a> ( QObject&nbsp;*&nbsp;obj )</div></li>
</ul>
<h2>静态公有成员</h2>
<ul>
<li><div class=fn>const QObjectList * <a href="#objectTrees"><b>objectTrees</b></a> ()</div></li>
<li><div class=fn>bool <a href="#connect"><b>connect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</div></li>
<li><div class=fn>bool <a href="#disconnect"><b>disconnect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</div></li>
</ul>
<h2>属性</h2>
<ul>
<li><div class=fn>QCString <a href="#name-prop"><b>name</b></a>&nbsp;- 这个对象的名称</div></li>
</ul>
<h2>保护成员</h2>
<ul>
<li><div class=fn>const QObject * <a href="#sender"><b>sender</b></a> ()</div></li>
<li><div class=fn>virtual void <a href="#timerEvent"><b>timerEvent</b></a> ( QTimerEvent * )</div></li>
<li><div class=fn>virtual void <a href="#childEvent"><b>childEvent</b></a> ( QChildEvent * )</div></li>
<li><div class=fn>virtual void <a href="#customEvent"><b>customEvent</b></a> ( QCustomEvent * )</div></li>
<li><div class=fn>virtual void <a href="#connectNotify"><b>connectNotify</b></a> ( const&nbsp;char&nbsp;*&nbsp;signal )</div></li>
<li><div class=fn>virtual void <a href="#disconnectNotify"><b>disconnectNotify</b></a> ( const&nbsp;char&nbsp;*&nbsp;signal )</div></li>
<li><div class=fn>virtual bool <a href="#checkConnectArgs"><b>checkConnectArgs</b></a> ( const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</div></li>
</ul>
<h2>静态保护成员</h2>
<ul>
<li><div class=fn>QCString <a href="#normalizeSignalSlot"><b>normalizeSignalSlot</b></a> ( const&nbsp;char&nbsp;*&nbsp;signalSlot )</div></li>
</ul>
<h2>相关函数</h2>
<ul>
<li><div class=fn>void * <a href="#qt_find_obj_child"><b>qt_find_obj_child</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;type, const&nbsp;char&nbsp;*&nbsp;name )</div></li>
</ul>
<hr><a name="details"></a><h2>详细描述</h2>


QObject类是所有Qt对象的基类。
<p> 

<p> QObject是<a href="object.html">Qt对象模型</a>的中心。这个模型的中心特征就是一种用于无缝对象通讯的被叫做<a href="signalsandslots.html">信号和槽</a>的非常强大的机制。你能够使用<a href="#connect">connect</a>()把信号和槽连接起来并且可以用<a href="#disconnect">disconnect</a>()来破坏这种连接。为了避免从不结束的通知循环,你可以调用<a href="#blockSignals">blockSignals</a>()临时地阻塞信号。保护函数<a href="#connectNotify">connectNotify</a>()和<a href="#disconnectNotify">disconnectNotify</a>()使跟踪连接成为可能。
<p> QObject把它们自己组织在对象树中。当你创建一个QObject作为其它对象的父对象,这个对象会在父对象中自动调用<a href="#insertChild">insertChild</a>()并且可以在父对象的<a href="#children">children</a>()列表中显示出来。父对象拥有这个对象,比如,它将在它的析构函数中自动删除它的孩子。你可以使用<a href="#child">child</a>()或者<a href="#queryList">queryList</a>()通过名称和任意的类型来查找一个对象,并且使用<a href="#objectTrees">objectTrees</a>()来获得树根的列表。
<p> 每个对象都有一个对象名称(<a href="#name">name</a>()),能够报告它的类名(<a href="#className">className</a>())并且它在QObject继承层次中是否继承了另一个类(<a href="#inherits">inherits</a>())。
<p> 当对象被删除时,它发射<a href="#destroyed">destroyed</a>()信号。你可以捕获这个信号来避免对QObject的摇摆引用。<a href="qguardedptr.html">QGuardedPtr</a>类提供了一种文雅的方式来使用这个机制。
<p> QObject可以通过<a href="#event">event</a>()接收事件并且过滤其它对象的事件。详细情况请参考<a href="#installEventFilter">installEventFilter</a>()和<a href="#eventFilter">eventFilter</a>()。一个方便的处理者,<a href="#childEvent">childEvent</a>(),能够被重新实现来捕获子对象事件。
<p> 最后但不是最不重要的一点,QObject提供了Qt中最基本的定时器,关于定时器的高级支持请参考<a href="qtimer.html">QTimer</a>。
<p> 注意<a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>宏对于任何实现信号、槽和属性的对象都是强制的。你也需要对源文件运行<a href="moc.html">moc程序(元对象编译器)</a>。我们强烈建议在QObject的<em>所有</em>子类中使用这个宏,而不管它是不是实际使用了信号、槽和属性,因为不这样做也许会导致普通函数会出现为定义的问题。
<p> 所有的Qt窗口部件继承了QObject。方便的函数<a href="#isWidgetType">isWidgetType</a>()返回这个对象实际上是不是一个窗口部件。它比<a href="#inherits">inherits</a>( "QWidget" )快得多。
<p> 一些QObject函数,比如<a href="#children">children</a>()、<a href="#objectTrees">objectTrees</a>()和<a href="#queryList">queryList</a>()返回一个<a href="qobjectlist.html">QObjectList</a>。QObjectList是QObject的<a href="qptrlist.html">QPtrList</a>。QObjectLists支持像QPtrLists同样的操作并且又一个迭代器类<a href="qobjectlistit.html">QObjectListIt</a>。
<p>也可以参考<a href="objectmodel.html">对象模型</a>。

<hr><h2>成员函数文档</h2>
<h3 class=fn><a name="QObject"></a>QObject::QObject ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
</h3>
构造一个父对象为<em>parent</em>,叫做<em>name</em>的对象。
<p> 对象的父对象也许可以看做这个对象的所有者。例如,一个<a href="qdialog.html">对话框</a>是它包含的“OK”和“Cancel”按钮的父对象。
<p> 父对象的析构函数销毁所有的子对象。
<p> 设置<em>parent</em>为0时,构造一个没有父对象的对象。如果一个对象是窗口部件,它将会成为一个顶级窗口。
<p> 对象名称就是可以用来识别一个QObject的一些文本。它在和<a href="designer-manual.html"><i>Qt设计器</i></a>联合使用的时候特别有用。你可以使用<a href="#child">child</a>()来通过名称(和类型)找到一个对象。使用<a href="#queryList">queryList</a>()可以找到几个对象。
<p> <p>也可以参考<a href="#parent">parent</a>()、<a href="#name-prop">name</a>、<a href="#child">child</a>()和<a href="#queryList">queryList</a>()。

<h3 class=fn><a name="~QObject"></a>QObject::~QObject ()<tt> [虚]</tt>
</h3>
销毁这个对象,删除它的所有子对象。
<p> 到这个对象的信号和从这个对象发出的信号被自动地取消连接。
<p> <b>警告:</b>所有子对象被删除。如果这些对象中的任何一个在栈中或者是全局的,迟早或稍后你的程序将会崩溃。我们不建议在父对象的外面保存值对象的指针。如果你要这么做,当对象销毁时,<a href="#destroyed">QObject::destroyed</a>()信号会给你一个机会来进行检测。

<h3 class=fn>void <a name="blockSignals"></a>QObject::blockSignals ( bool&nbsp;block )
</h3>
如果<em>block</em>为真,阻塞信号,或者如果<em>block</em>为假,取消信号阻塞。
<p> 如果信号被阻塞,被发射的信号消失在超空间。
<p>实例:<a href="rot-example.html#x1557">rot13/rot13.cpp</a>。

<h3 class=fn>bool <a name="checkConnectArgs"></a>QObject::checkConnectArgs ( const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )<tt> [虚 保护]</tt>
</h3>
<p> 如果<em>signal</em>和<em>member</em>参数是协调的,返回真,否则返回假。(<em>receiver</em>参数通常被忽略。)
<p> <b>警告:</b>我们建议你使用默认实现不要再重新实现这个函数。
<p> 

<h3 class=fn><a href="qobject.html">QObject</a>&nbsp;* <a name="child"></a>QObject::child ( const&nbsp;char&nbsp;*&nbsp;objName, const&nbsp;char&nbsp;*&nbsp;inheritsClass = 0, bool&nbsp;recursiveSearch = TRUE )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -