?? qpushbutton.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/qpushbutton.cpp:55 -->
<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>QPushButton類</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>QPushButton類參考</h1>
<p>QPushButton窗口部件提供了命令按鈕。
<a href="#details">詳情請見……</a>
<p><tt>#include <<a href="qpushbutton-h.html">qpushbutton.h</a>></tt>
<p>繼承了<a href="qbutton.html">QButton</a>。
<p><a href="qpushbutton-members.html">所有成員函數的列表。</a>
<h2>公有成員</h2>
<ul>
<li><div class=fn><a href="#QPushButton"><b>QPushButton</b></a> ( QWidget * parent, const char * name = 0 )</div></li>
<li><div class=fn><a href="#QPushButton-2"><b>QPushButton</b></a> ( const QString & text, QWidget * parent, const char * name = 0 )</div></li>
<li><div class=fn><a href="#QPushButton-3"><b>QPushButton</b></a> ( const QIconSet & icon, const QString & text, QWidget * parent, const char * name = 0 )</div></li>
<li><div class=fn><a href="#~QPushButton"><b>~QPushButton</b></a> ()</div></li>
<li><div class=fn>void <a href="#setToggleButton"><b>setToggleButton</b></a> ( bool )</div></li>
<li><div class=fn>bool <a href="#autoDefault"><b>autoDefault</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#setAutoDefault"><b>setAutoDefault</b></a> ( bool autoDef )</div></li>
<li><div class=fn>bool <a href="#isDefault"><b>isDefault</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#setDefault"><b>setDefault</b></a> ( bool def )</div></li>
<li><div class=fn>virtual void setIsMenuButton ( bool enable ) <em>(廢棄)</em></div></li>
<li><div class=fn>bool isMenuButton () const <em>(廢棄)</em></div></li>
<li><div class=fn>void <a href="#setPopup"><b>setPopup</b></a> ( QPopupMenu * popup )</div></li>
<li><div class=fn>QPopupMenu * <a href="#popup"><b>popup</b></a> () const</div></li>
<li><div class=fn>void <a href="#setIconSet"><b>setIconSet</b></a> ( const QIconSet & )</div></li>
<li><div class=fn>QIconSet * <a href="#iconSet"><b>iconSet</b></a> () const</div></li>
<li><div class=fn>void <a href="#setFlat"><b>setFlat</b></a> ( bool )</div></li>
<li><div class=fn>bool <a href="#isFlat"><b>isFlat</b></a> () const</div></li>
</ul>
<h2>公有槽</h2>
<ul>
<li><div class=fn>virtual void <a href="#setOn"><b>setOn</b></a> ( bool )</div></li>
</ul>
<h2>重要得繼承成員</h2>
<ul>
<li><div class=fn>QString <a href="#text"><b>text</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const QString & )</div></li>
<li><div class=fn>const QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const QPixmap & )</div></li>
<li><div class=fn>QKeySequence <a href="#accel"><b>accel</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#setAccel"><b>setAccel</b></a> ( const QKeySequence & )</div></li>
<li><div class=fn>bool <a href="#isToggleButton"><b>isToggleButton</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#setDown"><b>setDown</b></a> ( bool )</div></li>
<li><div class=fn>bool <a href="#isDown"><b>isDown</b></a> () const</div></li>
<li><div class=fn>bool <a href="#isOn"><b>isOn</b></a> () const</div></li>
<li><div class=fn>ToggleState <a href="#state"><b>state</b></a> () const</div></li>
<li><div class=fn>bool <a href="#autoRepeat"><b>autoRepeat</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#setAutoRepeat"><b>setAutoRepeat</b></a> ( bool )</div></li>
<li><div class=fn>bool <a href="#isExclusiveToggle"><b>isExclusiveToggle</b></a> () const</div></li>
<li><div class=fn>QButtonGroup * <a href="#group"><b>group</b></a> () const</div></li>
<li><div class=fn>void <a href="#toggle"><b>toggle</b></a> ()</div></li>
<li><div class=fn>void <a href="#pressed"><b>pressed</b></a> ()</div></li>
<li><div class=fn>void <a href="#released"><b>released</b></a> ()</div></li>
<li><div class=fn>void <a href="#clicked"><b>clicked</b></a> ()</div></li>
<li><div class=fn>void <a href="#toggled"><b>toggled</b></a> ( bool on )</div></li>
<li><div class=fn>void <a href="#stateChanged"><b>stateChanged</b></a> ( int state )</div></li>
</ul>
<h2>屬性</h2>
<ul>
<li><div class=fn>bool <a href="#autoDefault-prop"><b>autoDefault</b></a> - 推動按鈕是否是自動默認按鈕</div></li>
<li><div class=fn>bool <a href="#autoMask-prop"><b>autoMask</b></a> - 按鈕中自動面具特征是否有效 <em>(只讀)</em></div></li>
<li><div class=fn>bool <a href="#default-prop"><b>default</b></a> - 推動按鈕是否是默認按鈕</div></li>
<li><div class=fn>bool <a href="#flat-prop"><b>flat</b></a> - 邊緣是否失效</div></li>
<li><div class=fn>QIconSet <a href="#iconSet-prop"><b>iconSet</b></a> - 推動按鈕上的圖標</div></li>
<li><div class=fn>bool menuButton - 推動按鈕是否有一個菜單按鈕在上面 <em>(廢棄)</em></div></li>
<li><div class=fn>bool <a href="#on-prop"><b>on</b></a> - 推動按鈕是否被切換</div></li>
<li><div class=fn>bool <a href="#toggleButton-prop"><b>toggleButton</b></a> - 按鈕是不是切換按鈕</div></li>
</ul>
<hr><a name="details"></a><h2>詳細描述</h2>
QPushButton窗口部件提供了命令按鈕。
<p>
<p> 推動按鈕或者命令按鈕或許是任何圖形用戶界面中最常用到的窗口部件。推動(點擊)按鈕來命令計算機執行一些操作,或者回答一個問題。典型的按鈕有確定(OK)、應用(Apply)、撤銷(Cancel)、關閉(Close)、是(Yes)、否(No)和幫助(Help)。
<p> 命令按鈕是矩形的并且通常顯示一個文本標簽來描述它的操作。標簽中有下劃線的字母(在文本中它的前面被“&”標明)表明快捷鍵,例如:
<pre>
QPushButton *pb = new QPushButton( "&Download", this );
</pre>
在這個實例中加速鍵是<em>Alt+D</em>,并且文本標簽將被顯示為<b><u>D</u>ownload</b>。
<p> 推動按鈕可以顯示文本標簽或者像素映射,并且和一個可選的小圖標。這些可以通過使用構造函數來設置并且在這之后用<a href="qbutton.html#setText">setText</a>()、<a href="qbutton.html#setPixmap">setPixmap</a>()和<a href="#setIconSet">setIconSet</a>()來改變。如果按鈕失效,文本或像素映射和圖標的外觀將被按照圖形用戶界面的風格來操作表明按鈕看起來是失效的。
<p> 當推動按鈕被鼠標、空格鍵或者鍵盤快捷鍵激活,它發射<a href="qbutton.html#clicked">clicked</a>()信號。連接這個信號來執行按鈕的操作。推動按鈕也提供不太常用的信號,例如,<a href="qbutton.html#pressed">pressed</a>()和<a href="qbutton.html#released">released</a>()。
<p> 菜單中的命令按鈕默認情況下是自動默認按鈕,也就是說當它們接受到鍵盤焦點時,它們將自動變為默認推動按鈕。默認按鈕就是一個當用戶在對話框中敲擊回車鍵或換行鍵時被激活的推動按鈕。你可以使用<a href="#setAutoDefault">setAutoDefault</a>()來改變這一點。注意自動默認按鈕會保留一小點額外區域來繪制默認按鈕指示器。如果你不想要你的按鈕周圍的這些空間,調用setAutoDefault(FALSE)。
<p> 因為如此的重要,按鈕窗口部件在過去的時代中已經發展并提供了大量的變體。Microsoft風格指南現在顯示Windows推動按鈕大約有10種不同狀態并且文本暗示有當所有的特種組合都被考慮進去的時候,大約有幾十種或更多的情況。
<p> 最重要的模式或狀態有:
<ul>
<li> 可用或不可用(變灰,失效)。
<li> 標準推動按鈕、切換推動按鈕或菜單按鈕。
<li> 開或關(僅對切換推動按鈕)。
<li> 默認或普通。對話框中的默認按鈕通常可以被使用回車鍵或換行鍵“點擊”。
<li> 自動重復或者不自動重復。
<li> 被按下或者沒有被按下。
</ul>
<p> 作為一個通用規則,當在用戶點擊在應用程序或者對話框窗口中點擊時(比如應用、撤銷、關閉和幫助)<em>并且</em>窗口部件被假設有一個寬的矩形形狀的文本標簽,應用程序或者對話框窗口要執行一個操作時,使用推動按鈕。改變窗口的狀態,而不是執行操作的小的、通常正方形的按鈕(比如<a href="qfiledialog.html">QFileDialog</a>右上角的按鈕)不是命令按鈕,而是工具按鈕。Qt為這些按鈕提供了一個特殊類(<a href="qtoolbutton.html">QToolButton</a>)。
<p> 如果你需要切換行為(請參考<a href="#setToggleButton">setToggleButton</a>())或者當一個按鈕被像滾動條那樣的箭頭被按下時,按鈕自動重復激活信號(請參考<a href="qbutton.html#setAutoRepeat">setAutoRepeat</a>()),命令按鈕可能不是你想要的。如果拿不準,請使用工具按鈕。
<p> 命令按鈕的一個變體是菜單按鈕。它們提供了不僅一個命令,而是幾個,因為當它們被按下時,它們彈出一個選項菜單。使用<a href="#setPopup">setPopup</a>()方式來關聯一個彈出菜單到一個推動按鈕。
<p> 其他按鈕類是選項按鈕(請參考<a href="qradiobutton.html">QRadioButton</a>)和選擇框(請參考<a href="qcheckbox.html">QCheckBox</a>)。
<p> <img src="qpushbt-m.png"> <img src="qpushbt-w.png">
<p> 在Qt中,<a href="qbutton.html">QButton</a>基類提供了絕大多數模式和其它應用編程接口,并且QPushButton提供了圖形用戶界面邏輯。關于應用編程接口的更多信息請參考QButton。
<p>
<p> <p>也可以參考<a href="qtoolbutton.html">QToolButton</a>、<a href="qradiobutton.html">QRadioButton</a>、<a href="qcheckbox.html">QCheckBox</a>、<a href="guibooks.html#fowler">GUI Design Handbook: Push Button</a>和<a href="basic.html">基本窗口部件</a>。
<hr><h2>成員函數文檔</h2>
<h3 class=fn><a name="QPushButton"></a>QPushButton::QPushButton ( <a href="qwidget.html">QWidget</a> * parent, const char * name = 0 )
</h3>
構造一個沒有文本的推動按鈕。
<p> 參數<em>parent</em>和<em>name</em>被發送給<a href="qwidget.html">QWidget</a>的構造函數。
<h3 class=fn><a name="QPushButton-2"></a>QPushButton::QPushButton ( const <a href="qstring.html">QString</a> & text, <a href="qwidget.html">QWidget</a> * parent, const char * name = 0 )
</h3>
構造一個名稱為<em>name</em>、父對象為<em>parent</em>并且文本為<em>text</em>的推動按鈕。
<h3 class=fn><a name="QPushButton-3"></a>QPushButton::QPushButton ( const <a href="qiconset.html">QIconSet</a> & icon, const <a href="qstring.html">QString</a> & text, <a href="qwidget.html">QWidget</a> * parent, const char * name = 0 )
</h3>
構造一個圖標為<em>icon</em>、文本為<em>text</em>的推動按鈕。
<p> 注意你也可以傳遞一個<a href="qpixmap.html">QPixmap</a>作為一個圖標(感謝由C++提供的隱含類型轉換)。
<p> 參數<em>parent</em>和<em>name</em>被發送給<a href="qwidget.html">QWidget</a>的構造函數。
<h3 class=fn><a name="~QPushButton"></a>QPushButton::~QPushButton ()
</h3>
銷毀這個推動按鈕。
<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel"></a>QButton::accel () const
</h3>
<p>返回這個按鈕關聯的快捷鍵。詳細情況請參考<a href="qbutton.html#accel-prop">“accel”</a>屬性。
<h3 class=fn>bool <a name="autoDefault"></a>QPushButton::autoDefault () const
</h3>
<p>如果這個推動是自動默認按鈕,返回真,否則返回假。詳細情況請參考<a href="qpushbutton.html#autoDefault-prop">“autoDefault”</a>屬性。
<h3 class=fn>bool <a name="autoRepeat"></a>QButton::autoRepeat () const
</h3>
<p>如果自動重復生效,返回真,否則返回假。詳細情況請參考<a href="qbutton.html#autoRepeat-prop">“autoRepeat”</a>自動重復。
<h3 class=fn>void <a name="clicked"></a>QButton::clicked ()<tt> [信號]</tt>
</h3>
<p> 當這個按鈕被激活時(也就是說當鼠標光標在按鈕時,并且被先按下再釋放)、當快捷鍵被按下時或者當<a href="qbutton.html#animateClick">animateClick</a>()被調用時,這個信號被發射。如果你調用<a href="qbutton.html#setDown">setDown</a>(),這個信號<em>不</em>被發射。
<p> 如果你想把幾個按鈕連接到一個相同的槽,<a href="qbuttongroup.html#clicked">QButtonGroup::clicked</a>()信號可以做同樣的工作。
<p> <p>也可以參考<a href="qbutton.html#pressed">pressed</a>()、<a href="qbutton.html#released">released</a>()、<a href="qbutton.html#toggled">toggled</a>()、<a href="qbutton.html#autoRepeat-prop">autoRepeat</a>和<a href="qbutton.html#down-prop">down</a>。
<p>實例:<a href="simple-qfont-demo-walkthrough.html#x2109">fonts/simple-qfont-demo/viewer.cpp</a>、<a href="listbox-example.html#x1309">listbox/listbox.cpp</a>、<a href="clientserver-example.html#x777">network/clientserver/client/client.cpp</a>、<a href="ftpclient-example.html#x649">network/ftpclient/ftpmainwindow.cpp</a>、 <a href="richtext-example.html#x581">richtext/richtext.cpp</a>、<a href="tutorial1-02.html#x2277">t2/main.cpp</a>和<a href="tutorial1-04.html#x2293">t4/main.cpp</a>。
<h3 class=fn><a href="qbuttongroup.html">QButtonGroup</a> * <a name="group"></a>QButton::group () const
</h3>
返回這個按鈕所屬于的組。
<p> 如果這個按鈕不是任何一個<a href="qbuttongroup.html">QButtonGroup</a>的成員,這個函數返回0。
<p> <p>也可以參考<a href="qbuttongroup.html">QButtonGroup</a>。
<h3 class=fn><a href="qiconset.html">QIconSet</a> * <a name="iconSet"></a>QPushButton::iconSet () const
</h3>
<p>返回這個推動按鈕的圖標。詳細情況請參考<a href="qpushbutton.html#iconSet-prop">“iconSet”</a>屬性。
<h3 class=fn>bool <a name="isDefault"></a>QPushButton::isDefault () const
</h3>
<p>如果這個推動按鈕是默認按鈕,返回真,否則返回假。詳細情況請參考<a href="qpushbutton.html#default-prop">“default”</a>屬性。
<h3 class=fn>bool <a name="isDown"></a>QButton::isDown () const
</h3>
<p>如果這個按鈕被按下,返回真,否則返回假。詳細情況請參考<a href="qbutton.html#down-prop">“down”</a>屬性。
<h3 class=fn>bool <a name="isExclusiveToggle"></a>QButton::isExclusiveToggle () const
</h3>
<p>如果按鈕是排它的,返回真,否則返回假。詳細情況請參考<a href="qbutton.html#exclusiveToggle-prop">“exclusiveToggle”</a>屬性。
<h3 class=fn>bool <a name="isFlat"></a>QPushButton::isFlat () const
</h3>
<p>如果邊緣失效,返回真,否則返回假。詳細情況請參考<a href="qpushbutton.html#flat-prop">“flat”</a>屬性。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -