?? qapplication.html
字號:
<li> -display <em>display</em>,設(shè)置X顯示(默認(rèn)為$DISPLAY)。
<li> -geometry <em>geometry</em>,設(shè)置<a href="#setMainWidget">主窗口部件</a>的客戶端位置和大小。
<li> -fn或者<tt>-font</tt> <em>font</em>,定義應(yīng)用程序的字體。這個字體必須使用X邏輯字體描述來北指定。
<li> -bg或者<tt>-background</tt> <em>color</em>,設(shè)置默認(rèn)背景色和應(yīng)用程序調(diào)色板(亮的和暗的陰影將被計算出來)。
<li> -fg或者<tt>-foreground</tt> <em>color</em>,設(shè)置默認(rèn)前景色。
<li> -btn或者<tt>-button</tt> <em>color</em>,設(shè)置默認(rèn)按鈕顏色。
<li> -name <em>name</em>,設(shè)置應(yīng)用程序名稱。
<li> -title <em>title</em>,設(shè)置應(yīng)用程序標(biāo)題。
<li> -visual <tt>TrueColor</tt>,強制應(yīng)用程序在8位顯示上使用真彩圖像。
<li> -ncols <em>count</em>,如果應(yīng)用程序使用<a href="#ColorSpec-enum">QApplication::ManyColor</a>顏色規(guī)格,在8位顯示中限制顏色立方體重分配的顏色。如果<em>count</em>為216,那么一個6x6x6的顏色立方體將被使用(也就是說6級紅色,6級綠色和6級藍色),對于其它值,與2x3x1立方體成比例的立方體將被使用。
<li> -cmap,導(dǎo)致應(yīng)用程序在8位顯示上安裝一個私有的顏色映射。
</ul>
<p> <p>也可以參考<a href="#argc">argc</a>()和<a href="#argv">argv</a>()。
<h3 class=fn><a name="QApplication-2"></a>QApplication::QApplication ( int & argc, char ** argv, bool GUIenabled )
</h3>
構(gòu)造一個使用<em>argv</em>中<em>argc</em>個命令行參數(shù)的應(yīng)用程序?qū)ο蟆H绻?lt;em>GUIenabled</em>為真,圖形用戶界面應(yīng)用程序被構(gòu)造,否則非圖形用戶界面(命令行)應(yīng)用程序被創(chuàng)建。
<p> 對于沒有圖形用戶界面的程序,設(shè)置<em>GUIenabled</em>為假可以在沒有窗口系統(tǒng)的情況下運行。
<p> 在X11下,如果<em>GUIenabled</em>為真,窗口系統(tǒng)被初始化。如果<em>GUIenabled</em>為假,應(yīng)用程序不連接X服務(wù)器。在Windows和Macintosh,現(xiàn)在窗口系統(tǒng)總是被初始化,而不管<em>GUIenabled</em>的值。在Qt未來的版本這也許會改變。
<p> 對于線程配置(也就是說當(dāng)Qt已經(jīng)被作為線程庫建立),應(yīng)用程序全局互斥量在構(gòu)造函數(shù)中將被鎖定并且當(dāng)使用<a href="#exec">exec</a>()進入事件循環(huán)中時解鎖。如果你不調(diào)用exec(),你必須明顯地對這個互斥量解鎖,否則你將會在應(yīng)用程序退出時得到警告。
<p> 下面這個例子顯示如何創(chuàng)建在可能情況下使用圖形界面的應(yīng)用程序。
<pre>
int main( int argc, char **argv )
{
#ifdef Q_WS_X11
bool useGUI = getenv( "DISPLAY" ) != 0;
#else
bool useGUI = TRUE;
#endif
QApplication app(argc, argv, useGUI);
if ( useGUI ) {
//開始圖形用戶界面版本
...
} else {
//開始非圖形用戶界面版本
...
}
return app.<a href="#exec">exec</a>();
}
</pre>
<h3 class=fn><a name="QApplication-3"></a>QApplication::QApplication ( int & argc, char ** argv, <a href="qapplication.html#Type-enum">Type</a> type )
</h3>
構(gòu)造一個使用<em>argv</em>中<em>argc</em>個命令行參數(shù)的應(yīng)用程序?qū)ο蟆?<p> 對于Qt/Embedded,在<em>type</em>傳遞<a href="#Type-enum">QApplication::GuiServer</a>參數(shù)將會使這個應(yīng)用程序變?yōu)榉?wù)器(相當(dāng)于使用-qws參數(shù)運行)。
<h3 class=fn><a name="QApplication-4"></a>QApplication::QApplication ( Display * dpy, HANDLE visual = 0, HANDLE colormap = 0 )
</h3>
創(chuàng)建一個應(yīng)用程序,給定一個已經(jīng)打開顯示的<em>dpy</em>。如果<em>visual</em>和<em>colormap</em>非零,應(yīng)用程序?qū)⑹褂盟鼈冏鳛槟J(rèn)的Visual和Colormap上下文。
<p> 這個只在X11上有效。
<h3 class=fn><a name="QApplication-5"></a>QApplication::QApplication ( Display * dpy, int argc, char ** argv, HANDLE visual = 0, HANDLE colormap = 0 )
</h3>
創(chuàng)建使用<em>argv</em>中<em>argc</em>個命令行參數(shù)的一個應(yīng)用程序,給定一個已經(jīng)打開顯示的<em>dpy</em>。如果<em>visual</em>和<em>colormap</em>非零,應(yīng)用程序?qū)⑹褂盟鼈冏鳛槟J(rèn)的Visual和Colormap上下文
<p> 這個只在X11上有效。
<h3 class=fn><a name="~QApplication"></a>QApplication::~QApplication ()<tt> [虛]</tt>
</h3>
清空由這個應(yīng)用程序分配的任何窗口系統(tǒng)資源。設(shè)置全局變量<tt>qApp</tt>為0。
<h3 class=fn>void <a name="aboutToQuit"></a>QApplication::aboutToQuit ()<tt> [信號]</tt>
</h3>
<p> 當(dāng)應(yīng)用程序要退出主事件循環(huán)時,這個信號被發(fā)射。這也許發(fā)生在應(yīng)用程序中調(diào)用<a href="#quit">quit</a>()之后,或者當(dāng)用戶關(guān)閉整個桌面對話時。
<p> 如果你的應(yīng)用程序在清空的最后一刻要做些什么,這個信號特別重要。注意在這種狀態(tài)下沒有任何用戶交互。
<p> <p>也可以參考<a href="#quit">quit</a>()。
<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="activeModalWidget"></a>QApplication::activeModalWidget ()<tt> [靜態(tài)]</tt>
</h3>
返回激活的模式窗口部件。
<p> 模式對話框是特殊的頂級窗口部件,它是<a href="qdialog.html">QDialog</a>的子類,在構(gòu)造函數(shù)中把模式參數(shù)設(shè)置為真。用戶只有在關(guān)閉了模式窗口部件之后才能繼續(xù)這個程序的其它部分。
<p> 模式窗口部件被組織在一個棧中。這個函數(shù)返回棧頂?shù)募せ畲翱诓考?<p> <p>也可以參考<a href="#activePopupWidget">activePopupWidget</a>()和<a href="#topLevelWidgets">topLevelWidgets</a>()。
<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="activePopupWidget"></a>QApplication::activePopupWidget ()<tt> [靜態(tài)]</tt>
</h3>
返回激活彈出窗口部件。
<p> 彈出窗口部件是特殊的頂級窗口部件,它設(shè)置了窗口部件標(biāo)記<a href="qt.html#WidgetFlags-enum">WType_Popup</a>,例如<a href="qpopupmenu.html">QPopupMenu</a>窗口部件。當(dāng)應(yīng)用程序打開一個彈出窗口部件,所有的事件都被發(fā)送給彈出窗口部件。在彈出窗口部件被關(guān)閉之前,普通窗口部件和模式對話框都不能被訪問。
<p> 當(dāng)彈出窗口部件被顯示時,只有其它彈出窗口部件可以被打開。彈出窗口部件被組織在一個棧中。這個函數(shù)返回棧頂?shù)膹棾龃翱诓考?<p> <p>也可以參考<a href="#activeModalWidget">activeModalWidget</a>()和<a href="#topLevelWidgets">topLevelWidgets</a>()。
<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="activeWindow"></a>QApplication::activeWindow () const
</h3>
<p> 返回?fù)碛墟I盤輸入焦點的應(yīng)用程序頂級窗口,或者如果沒有應(yīng)用程序窗口擁有焦點,返回0。注意盡管可能沒有<a href="#focusWidget">focusWidget</a>(),仍然有可能<a href="#activeWindow">activeWindow</a>(),例如如果在窗口中沒有窗口部件接收鍵盤事件。
<p> <p>也可以參考<a href="qwidget.html#setFocus">QWidget::setFocus</a>()、<a href="qwidget.html#focus-prop">QWidget::focus</a>和<a href="#focusWidget">focusWidget</a>()。
<p>實例:<a href="mail-example.html#x750">network/mail/smtp.cpp</a>。
<h3 class=fn>void <a name="addLibraryPath"></a>QApplication::addLibraryPath ( const <a href="qstring.html">QString</a> & path )<tt> [靜態(tài)]</tt>
</h3>
把<em>path</em>添加到庫路徑列表的末尾。如果<em>path</em>為空或者已經(jīng)在路徑列表中,路徑列表不會被改變。默認(rèn)路徑列表包含一個單一的條目<tt>$QTDIR/plugins</tt>。
<p> <p>也可以參考<a href="#removeLibraryPath">removeLibraryPath</a>()、<a href="#libraryPaths">libraryPaths</a>()和<a href="#setLibraryPaths">setLibraryPaths</a>()。
<h3 class=fn>QWidgetList * <a name="allWidgets"></a>QApplication::allWidgets ()<tt> [靜態(tài)]</tt>
</h3>
返回應(yīng)用程序中所有窗口部件的列表。
<p> 這個列表必須使用<tt>new</tt>來被創(chuàng)建并且必須被調(diào)用者刪除。
<p> 如果沒有窗口部件,這個列表為空(<a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>())。
<p> 注意一些窗口部件也許被隱藏。
<p> 更新所有窗口部件的實例:
<pre>
QWidgetList *list = QApplication::<a href="#allWidgets">allWidgets</a>();
QWidgetListIt it( *list ); // 遍歷窗口部件
<a href="qwidget.html">QWidget</a> * w;
while ( (w=it.current()) != 0 ) { // 對于每一個窗口部件……
++it;
w-><a href="qwidget.html#update">update</a>();
}
delete list; // 刪除這個列表,不是這個窗口部件
</pre>
<p> QWidgetList類在<tt>qwidgetlist.h</tt>頭文件中被定義。
<p> <b>警告:</b>一旦你用完了這個列表,就刪除它。列表中的窗口部件也許會在任何時候被其它刪除。
<p> <p>也可以參考<a href="#topLevelWidgets">topLevelWidgets</a>()、<a href="qwidget.html#visible-prop">QWidget::visible</a>和<a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>()。
<h3 class=fn>int <a name="argc"></a>QApplication::argc () const
</h3>
<p> 返回命令行參數(shù)的數(shù)量。
<p> <a href="#argv">argv</a>()的文檔描述了如何處理命令行參數(shù)。
<p> <p>也可以參考<a href="#argv">argv</a>()和<a href="#QApplication">QApplication::QApplication</a>()。
<p>實例:<a href="tutorial2-04.html#x2460">chart/main.cpp</a>和<a href="scribble-example.html#x926">scribble/scribble.cpp</a>。
<h3 class=fn>char ** <a name="argv"></a>QApplication::argv () const
</h3>
<p> 返回命令行參數(shù)矢量。
<p> <tt>argv()[0]</tt>是程序名稱,<tt>argv()[1]</tt>是第一個參數(shù)并且<tt>argv()[argc()-1]</tt>是最后一個參數(shù)。
<p> QApplication對象是通過從<tt>main()</tt>函數(shù)傳遞的<em>argc</em>和<em>argv</em>被構(gòu)造的。一些參數(shù)被作為Qt選項識別并且從參數(shù)矢量中移除。例如,X11版本的Qt知道<tt>-display</tt>、<tt>-font</tt>和其它一些選項。
<p> 實例:
<pre>
// showargs.cpp - 在列表框中顯示程序參數(shù)
#include <<a href="qapplication-h.html">qapplication.h</a>>
#include <<a href="qlistbox-h.html">qlistbox.h</a>>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
<a href="qlistbox.html">QListBox</a> b;
a.<a href="#setMainWidget">setMainWidget</a>( &b );
for ( int i = 0; i < a.<a href="#argc">argc</a>(); i++ ) // a.<a href="#argc">argc</a>() == argc
b.<a href="qlistbox.html#insertItem">insertItem</a>( a.<a href="#argv">argv</a>()[i] ); // a.<a href="#argv">argv</a>()[i] == argv[i]
b.<a href="qwidget.html#show">show</a>();
return a.<a href="#exec">exec</a>();
}
</pre>
<p> 如果你在X11下運行<tt>showargs -display unix:0 -font 9x15bold hello world</tt>,列表框中包含三個字符串“showargs”、“hello”和“world”。
<p> <p>也可以參考<a href="#argc">argc</a>()和<a href="#QApplication">QApplication::QApplication</a>()。
<p>實例:<a href="tutorial2-04.html#x2461">chart/main.cpp</a>和<a href="scribble-example.html#x927">scribble/scribble.cpp</a>。
<h3 class=fn>void <a name="beep"></a>QApplication::beep ()<tt> [靜態(tài)]</tt>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -