?? qactiongroup.html
字號:
<!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/widgets/qaction.cpp:1110 -->
<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>QActionGroup類</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>QActionGroup類參考</h1>
<p>QActionGroup類把操作組合在一起。
<a href="#details">詳情請見……</a>
<p><tt>#include <<a href="qaction-h.html">qaction.h</a>></tt>
<p>繼承了<a href="qaction.html">QAction</a>。
<p><a href="qactiongroup-members.html">所有成員函數的列表。</a>
<h2>公有成員</h2>
<ul>
<li><div class=fn><a href="#QActionGroup"><b>QActionGroup</b></a> ( QObject * parent, const char * name = 0, bool exclusive = TRUE )</div></li>
<li><div class=fn><a href="#~QActionGroup"><b>~QActionGroup</b></a> ()</div></li>
<li><div class=fn>void <a href="#setExclusive"><b>setExclusive</b></a> ( bool )</div></li>
<li><div class=fn>bool <a href="#isExclusive"><b>isExclusive</b></a> () const</div></li>
<li><div class=fn>void <a href="#add"><b>add</b></a> ( QAction * action )</div></li>
<li><div class=fn>void <a href="#addSeparator"><b>addSeparator</b></a> ()</div></li>
<li><div class=fn>virtual bool <a href="#addTo"><b>addTo</b></a> ( QWidget * w )</div></li>
<li><div class=fn>void <a href="#setUsesDropDown"><b>setUsesDropDown</b></a> ( bool enable )</div></li>
<li><div class=fn>bool <a href="#usesDropDown"><b>usesDropDown</b></a> () const</div></li>
<li><div class=fn>void insert ( QAction * a ) <em>(obsolete)</em></div></li>
</ul>
<h2>信號</h2>
<ul>
<li><div class=fn>void <a href="#selected"><b>selected</b></a> ( QAction * )</div></li>
</ul>
<h2>屬性</h2>
<ul>
<li><div class=fn>bool <a href="#exclusive-prop"><b>exclusive</b></a> - 操作組是否是排它切換的</div></li>
<li><div class=fn>bool <a href="#usesDropDown-prop"><b>usesDropDown</b></a> - 組的操作是否被顯示到操作組所被添加到的窗口部件的子窗口部件中</div></li>
</ul>
<h2>保護成員</h2>
<ul>
<li><div class=fn>virtual void <a href="#addedTo"><b>addedTo</b></a> ( QWidget * actionWidget, QWidget * container, QAction * a )</div></li>
<li><div class=fn>virtual void <a href="#addedTo-2"><b>addedTo</b></a> ( int index, QPopupMenu * menu, QAction * a )</div></li>
</ul>
<hr><a name="details"></a><h2>詳細描述</h2>
<p> QActionGroup類把操作組合在一起。
<p> 在一些情況下,把操作組合在一起是很有用的。例如,你有一個左對齊操作、右對齊操作和中間對齊操作,任何一個時間內只能有一個操作是被激活的,并且達到這一點的簡單方法就是把這些操作組合在一個操作組中并且調用<a href="#setExclusive">setExclusive</a>(TRUE)。
<p> 操作組也可以像單一的單元那樣被添加到菜單或者工具條中,操作組中的所有操作都被分別顯示為菜單選項和工具條按鈕。
<p> 這里是來自examples/textedit的實例:
<pre> QActionGroup *grp = new QActionGroup( this );
<a name="x2082"></a> grp-><a href="#setExclusive">setExclusive</a>( TRUE );
<a name="x2081"></a> <a href="qobject.html#connect">connect</a>( grp, SIGNAL( <a href="#selected">selected</a>( <a href="qaction.html">QAction</a>* ) ), this, SLOT( textAlign( <a href="qaction.html">QAction</a>* ) ) );
</pre>
<p> 我們創建一個新的操作組并且調用setExclusive()來確保任何一個時間內組中只有一個操作可以被激活。然后我們把組的<a href="#selected">selected</a>()信號連接到我們的textAlign()槽。
<p> <pre> actionAlignLeft = new <a href="qaction.html">QAction</a>( <a href="qobject.html#tr">tr</a>( "Left" ), QPixmap( "textleft.xpm" ), tr( "&Left" ), CTRL + Key_L, grp, "textLeft" );
<a name="x2079"></a> actionAlignLeft-><a href="qaction.html#addTo">addTo</a>( tb );
actionAlignLeft-><a href="qaction.html#addTo">addTo</a>( menu );
<a name="x2080"></a> actionAlignLeft-><a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
</pre>
<p> 我們創建一個左對齊操作,把它添加到工具條和菜單中并且使它成為切換操作。我們也用同樣的方式創建中間對齊操作和右對齊操作。
<p> 在操作組中的操作像通常一樣發射它們的<a href="qaction.html#activated">activated</a>()信號(對于切換操作是<a href="qaction.html#toggled">toggled</a>())。
<p> <a href="#setExclusive">setExclusive</a>()函數用來確保任何一個時間內只用一個操作被激活,它應該被用在<a href="qaction.html#toggleAction-prop">toggleAction</a>被設置為真的操作中。
<p> 操作組中的操作分別出現在菜單選項合工具條按鈕中。對于排它操作組使用<a href="#setUsesDropDown">setUsesDropDown</a>()可以把這些操作顯示到操作組所被添加到的窗口部件的子窗口部件中。例如,這些操作可以出現在工具條中的組合框中或者菜單的子菜單中。
<p> 操作可以使用<a href="#add">add</a>()被添加到操作組匯總,但通常它們把操作組作為父對象來創建就可以了。操作可以使用<a href="#addSeparator">addSeparator</a>()來分割。操作組可以使用<a href="#addTo">addTo</a>()被添加到窗口部件中。
<p>也可以參考<a href="application.html">主窗口和相關類</a>和<a href="basic.html">基本窗口部件</a>。
<hr><h2>成員函數文檔</h2>
<h3 class=fn><a name="QActionGroup"></a>QActionGroup::QActionGroup ( <a href="qobject.html">QObject</a> * parent, const char * name = 0, bool exclusive = TRUE )
</h3>
構造一個父對象為<em>parent</em>并且名稱為<em>name</em>的操作組。
<p> 如果<em>exclusive</em>為真,組中只有一個切換操作可以被激活。
<h3 class=fn><a name="~QActionGroup"></a>QActionGroup::~QActionGroup ()
</h3>
銷毀這個對象并且釋放已經分配的資源。
<h3 class=fn>void <a name="add"></a>QActionGroup::add ( <a href="qaction.html">QAction</a> * action )
</h3>
把操作<em>action</em>添加到組中。
<p> 通常把這個組作為父對象創建的操作被添加到組中,所以這個函數通常不被用到。
<p> <p>也可以參考<a href="#addTo">addTo</a>()。
<h3 class=fn>void <a name="addSeparator"></a>QActionGroup::addSeparator ()
</h3>
把分隔符添加到組中。
<h3 class=fn>bool <a name="addTo"></a>QActionGroup::addTo ( <a href="qwidget.html">QWidget</a> * w )<tt> [virtual]</tt>
</h3>
把這個操作組添加到窗口部件<em>w</em>中。
<p> 如果<a href="#usesDropDown">usesDropDown</a>()為真并且exclusive為真(請參考<a href="#setExclusive">setExclusive</a>()),如果<em>w</em>是一個工具條的話,這些操作就會出現在一個組合框中或者<em>w</em>是一個菜單的話,它們就會作為一個子菜單出現。否則(默認)組中的操作將會分別被加入到窗口部件中。例如,如果窗口部件是菜單,這些操作將分別被顯示為菜單選項,如果窗口部件是工具條的話,它們被分別顯示為工具條按鈕。
<p> 在操作組中的操作,特別是usesDropDown()為真的,建議設置它們的<a href="qaction.html#menuText">menuText</a>()或<a href="qaction.html#text">text</a>()屬性。
<p> 應該在操作組被添加到窗口部件<em>之前</em>,所有的操作被添加到操作組中。如果在操作組被添加到窗口部件<em>之后</em>,被添加到操作組中的操作將<em>不會</em>被顯示。
<p> <p>也可以參考<a href="#exclusive-prop">exclusive</a>、<a href="#usesDropDown-prop">usesDropDown</a>和<a href="qaction.html#removeFrom">removeFrom</a>()。
<p>實例:<a href="actiongroup-example.html#x1053">action/actiongroup/editor.cpp</a>和<a href="themes-example.html#x278">themes/themes.cpp</a>。
<p>從<a href="qaction.html#addTo">QAction</a>中重新實現的。
<h3 class=fn>void <a name="addedTo"></a>QActionGroup::addedTo ( <a href="qwidget.html">QWidget</a> * actionWidget, <a href="qwidget.html">QWidget</a> * container, <a href="qaction.html">QAction</a> * a )<tt> [虛 保護]</tt>
</h3>
當它在<em>container</em>中為這個子操作<em>a</em>創建一個窗口部件時(<em>actionWidget</em>),這個函數被<a href="#addTo">addTo</a>()調用。
<h3 class=fn>void <a name="addedTo-2"></a>QActionGroup::addedTo ( int index, <a href="qpopupmenu.html">QPopupMenu</a> * menu, <a href="qaction.html">QAction</a> * a )<tt> [虛 保護]</tt>
</h3>
這是一個重載成員函數,提供了方便。它的行為基本上和上面的函數相同。
<p> 當它在彈出菜單<em>menu</em>中為這個子操作創建一個索引為<em>index</em>的菜單項時,這個函數被<a href="#addTo">addTo</a>()調用。
<h3 class=fn>void <a name="insert"></a>QActionGroup::insert ( <a href="qaction.html">QAction</a> * a )
</h3>
<p> <b>這個函數是廢棄的。</b>它的提供只是為了保證舊代碼能夠工作。我們強烈建議在新代碼中不要使用它。
<p> 使用<a href="#add">add</a>()來替代,或者使用操作組作為父對象來創建操作更好。
<h3 class=fn>bool <a name="isExclusive"></a>QActionGroup::isExclusive () const
</h3>
<p>如果操作組是排它切換的,返回真,否則返回假。詳細情況請參考<a href="qactiongroup.html#exclusive-prop">“exclusive”</a>屬性。
<h3 class=fn>void <a name="selected"></a>QActionGroup::selected ( <a href="qaction.html">QAction</a> * )<tt> [信號]</tt>
</h3>
<p> 當切換操作改變狀態時,這個信號從排它組中被發射。
<p> 參數是狀態變為“開”的操作。
<p>
<pre> QActionGroup * colors = new QActionGroup( this, "colors", TRUE );
</pre><pre> <a name="x2084"></a><a name="x2083"></a> QObject::<a href="qobject.html#connect">connect</a>( colors, SIGNAL( <a href="#selected">selected</a>( <a href="qaction.html">QAction</a> * ) ),
this, SLOT( setFontColor( <a href="qaction.html">QAction</a> * ) ) );
</pre>
<p> 在這個實例中,我們把<a href="#selected">selected</a>()信號連接到我們自己的setFontColor()槽,傳遞<a href="qaction.html">QAction</a>所以我們可以直到哪個操作被用戶選擇。
<p> (請參考<a href="actiongroup.html">QActionGroup排演</a>。)
<p> <p>也可以參考<a href="#exclusive-prop">exclusive</a>和<a href="qaction.html#on-prop">on</a>。
<p>實例:<a href="qactiongroup.html#x2083">action/actiongroup/editor.cpp</a>、<a href="canvas-chart-example.html#x2590">chart/chartform.cpp</a>和<a href="qactiongroup.html#x2081">textedit/textedit.cpp</a>。
<h3 class=fn>void <a name="setExclusive"></a>QActionGroup::setExclusive ( bool )
</h3>
<p>設置操作組是否排它切換。詳細情況請參考<a href="qactiongroup.html#exclusive-prop">“exclusive”</a>屬性。
<h3 class=fn>void <a name="setUsesDropDown"></a>QActionGroup::setUsesDropDown ( bool enable )
</h3>
<p>設置組中的操作是否被顯示為操作組所被添加到的窗口部件的子窗口部件為<em>enable</em>。詳細情況請參考<a href="qactiongroup.html#usesDropDown-prop">“usesDropDown”</a>屬性。
<h3 class=fn>bool <a name="usesDropDown"></a>QActionGroup::usesDropDown () const
</h3>
<p>如果組的操作被顯示為操作組所被添加到的窗口部件的子窗口部件,返回真,否則返回假。詳細情況請參考<a href="qactiongroup.html#usesDropDown-prop">“usesDropDown”</a>屬性。
<hr><h2>屬性文檔</h2>
<h3 class=fn>bool <a name="exclusive-prop"></a>exclusive</h3>
<p>這個屬性保存的是操作組是否是排它切換。
<p>如果exclusive為真,則任何一個時間內操作組中只有一個切換操作可以被激活。如果用戶選擇組中的其它切換操作,那么被用戶選擇的被激活,其它的變為非活動的。默認情況下這個屬性為假。
<p> <p>也可以參考<a href="qaction.html#toggleAction-prop">QAction::toggleAction</a>。
<p>通過<a href="#setExclusive">setExclusive</a>()設置屬性值并且通過<a href="#isExclusive">isExclusive</a>()來獲得屬性值。
<h3 class=fn>bool <a name="usesDropDown-prop"></a>usesDropDown</h3>
<p>這個屬性保存的是組的操作是否被顯示到操作組所被添加到的窗口部件的子窗口部件中。
<p>被添加到工具條中的排它操作組會在組合框中顯示它們的操作,操作的<a href="qaction.html#text-prop">QAction::text</a>和<a href="qaction.html#iconSet-prop">QAction::iconSet</a>屬性被顯示。非排它組會被分別顯示為工具按鈕,顯示它們的<a href="qaction.html#iconSet-prop">QAction::iconSet</a>,并且——依賴于<a href="qmainwindow.html#usesTextLabel">QMainWindow::usesTextLabel</a>()——來顯示<a href="qaction.html#text">text</a>()屬性。
<p> 在彈出菜單中,成員操作會被顯示在子菜單中。
<p> 改變usersDropDown只影響<em>subsequent</em>調用<a href="#addTo">addTo</a>()。
<p> 這個屬性的默認值為假。
<p>通過<a href="#setUsesDropDown">setUsesDropDown</a>()設置屬性值并且通過<a href="#usesDropDown">usesDropDown</a>()來獲得屬性值。
<!-- eof -->
<hr><p>
這個文件是<a href="index.html">Qt工具包</a>一部分。
版權所有 © 1995-2002
<a href="http://www.trolltech.com/">Trolltech</a>。保留所有權利。
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2002
<a href="http://www.trolltech.com">Trolltech</a>
<td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a>
<td><a href="zh_CN.html">譯者:Cavendish</a>
<td align=right><div align=right>Qt 3.0.5版</div>
</table></div></address></body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -