版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、QtQApplication類簡介一、詳細描述一、詳細描述QApplication類管理圖形用戶界面應用程序圖形用戶界面應用程序的控制流控制流和主要設置主要設置??梢哉fQApplication是Qt的整個后臺管理整個后臺管理的命脈它包含主事件循環(huán)主事件循環(huán),在其中來自窗口系統和其它資源的所有事件來自窗口系統和其它資源的所有事件被處理和調度。它也處理應用程序的初始化和結束應用程序的初始化和結束,并且提供對話管理提供對話管理。它也處理絕大多
2、數系統范圍和應用程序范圍的設置系統范圍和應用程序范圍的設置。對于任何一個使用任何一個使用Qt的圖形用戶界面應用程序的圖形用戶界面應用程序,都存在一個QApplication對象,而不論這個應用程序在同一時間內是不是有不論這個應用程序在同一時間內是不是有0、1、2或更多個或更多個窗口窗口。QApplication對象是可以通過全局變量通過全局變量qApp訪問訪問。它的負責的主要范圍有:它使用用戶的桌面設置桌面設置,例如palette()、
3、font()和doubleClickInterval()來初始化應用程序。如果用戶改變全局桌面,例如通過一些控制面板,它會對這些屬性保持跟蹤。它執(zhí)行事件處理事件處理,也就是說它從低下的窗口系統接收事件從低下的窗口系統接收事件并且把它們分派給相關的窗口部件分派給相關的窗口部件。通過使用sendEvent()和postEvent(),你可以發(fā)送你自己的事件到窗口部件發(fā)送你自己的事件到窗口部件。它分析命令行參數并且根據它們設置內部狀態(tài)分析命令
4、行參數并且根據它們設置內部狀態(tài)。關于這點的詳細情況請參考下面的構造函數文檔。它定義了由QStyle對象封裝對象封裝的應用程序的觀感應用程序的觀感。在運行狀態(tài)下,可以通過setStyle()來改變。它指定了應用程序如何分配顏色應用程序如何分配顏色。詳細情況請參考setColSpec()。它定義了默認文本編碼默認文本編碼(請參考setDefaultCodec())并且提供了通過translate()用戶可見的本地化字符串。它提供了一些像de
5、sktop()和clipboard()這樣的魔術般的對象。它知道應用程序的窗口應用程序的窗口。你可以使用widgetAt()來詢問在一個確定點上存在哪個窗口部件一個確定點上存在哪個窗口部件,得到一個topLevelWidgets()(頂級窗口部件)的(頂級窗口部件)的列表列表和通過closeAllWindows()來關閉所有窗口來關閉所有窗口,等等。它管理應用程序的鼠標光標處理鼠標光標處理,請參考setOverrideCurs()和se
6、tGlobalMouseTracking()。在X窗口系統上,它提供刷新和同步通訊流的函數刷新和同步通訊流的函數,請參考flushX()和syncX()。它提供復雜的對話管理支持對話管理支持。這使得當用戶注銷時,它可以讓應用程序很好地結束,如果無法終止,撤消關閉進程并且甚至為未來的對話保留整個應用程序的狀態(tài)。詳細情況請參考isSessionRested()、sessionId()、commitData()和saveState()。應用程
7、序排演實例包含了一個QApplication通常用法的典型完整的main()。因為因為QApplication對象做了如此多的初始化,它必須在所有與用戶界面相關的其它類被創(chuàng)建之前被創(chuàng)建。對象做了如此多的初始化,它必須在所有與用戶界面相關的其它類被創(chuàng)建之前被創(chuàng)建。因為它也處理命令行參數,在應用程序中對因為它也處理命令行參數,在應用程序中對argv解釋和修改之前創(chuàng)建它通常是一個好主意。解釋和修改之前創(chuàng)建它通常是一個好主意。(注意,也對于X1
8、1,setMainWidget()可以根據geometry選項來改變主窗口部件。為了保持這個功能,你必須在setMainWidget()和它的任何重載之前設置你的默認。)二、二、QApplication兩類構造的講解兩類構造的講解QApplication::QApplication(int遍歷窗口部件遍歷窗口部件QWidgetwwhile((w=it.current())!=0)對于每一個窗口部件對于每一個窗口部件……itwupdate
9、()list刪除這個列表,不是這個窗口部件刪除這個列表,不是這個窗口部件QWidgetListQApplication::topLevelWidgets()[靜態(tài)靜態(tài)]返回應用程序中頂級窗口部件的列表頂級窗口部件的列表。這個列表是使用new創(chuàng)建的并且必須由調用者刪除。如果沒有頂級窗口部件,這個列表是空的(QPtrList::isEmpty())。注意一些頂級窗口部件也許被隱藏了,例如如果當前沒有工具提示被顯示的工具提示。注意一些頂級窗口
10、部件也許被隱藏了,例如如果當前沒有工具提示被顯示的工具提示。實例:顯示所有隱藏的頂級窗口部件。顯示所有隱藏的頂級窗口部件。QWidgetListlist=QApplication::topLevelWidgets()QWidgetListItit(list)遍歷窗口部件遍歷窗口部件QWidgetwwhile((w=it.current())!=0)對每一個頂級窗口部件對每一個頂級窗口部件itif(!wisVisible())wshow(
11、)list刪除這個列表,而不是窗口部件刪除這個列表,而不是窗口部件QWidgetQApplication::topLevelAt(intxinty)[static]返回最上層返回最上層xy點的點的widget可以用來定位最上層窗口可以用來定位最上層窗口QWidgetQApplication::widgetAt(intxinty)[static]返回當前層返回當前層xy點的點的widget可以用來定位當前窗口可以用來定位當前窗口,和top
12、LevelAt不同的是widgetAt是以globalscreenposition來判斷的,而topLevelAt是以顯示區(qū)域為坐標區(qū)域以顯示區(qū)域為坐標區(qū)域的。voidQApplication::closeAllWindows()[staticslot]關閉所有頂級窗口。關閉所有頂級窗口。exitAct=newQAction(tr(“EexitActsetShtcuts(QKeySequence::Quit)exitActsetStat
13、usTip(tr(“Exittheapplication“))connect(exitActSIGNAL(triggered())qAppSLOT(closeAllWindows()))四、關于事件循環(huán)四、關于事件循環(huán)qApplication的事件循環(huán),就是MainLoop的事件循環(huán),當然它的原理和QEventLoop的原理是一樣的。voidQCeApplication::processEvents(QEventLoop::Proces
14、sEventsFlagsflags=QEventLoop::AllEvents)[static]Processesallpendingeventsfthecallingthreadaccdingtothespecifiedflagsuntiltherearenomeeventstoprocess.Youcancallthisfunctionoccasionallywhenyourprogramisbusyperfmingalongope
15、ration(e.g.copyingafile).IneventyouarerunningalocalloopwhichcallsthisfunctioncontinuouslywithoutaneventlooptheDeferredeventswillnotbeprocessed.Thiscanaffectthebehaviourofwidgetse.g.QToolTipthatrelyonDeferredeventstofunct
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- qt4 總體簡介
- bootstrap常用類簡介
- 頭孢類抗菌藥物簡介
- document for qt
- 頭孢類抗菌藥物簡介匯編
- c++課程設計---qt圖形界面的日期類實現
- abcmouse規(guī)范要求-三類課程簡介
- 主頁酒店簡介的語類分析.pdf
- c++ bitset類的使用及簡介
- qt間期延長
- qt_plugin
- 南昌大學ⅱ類通識教育課程簡介
- qt動態(tài)文件.rar
- qt動態(tài)文件.rar
- qt動態(tài)文件.rar
- qt動態(tài)文件.rar
- 各版本美術類考研參考書目簡介
- qt入門1《我的第一個qt程序》————高
- 6、27北理藝術類設計學專業(yè)簡介
- 數控車床加工螺紋類零件方法簡介
評論
0/150
提交評論