2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、QtQApplication類簡介一、詳細描述一、詳細描述QApplication類管理圖形用戶界面應(yīng)用程序圖形用戶界面應(yīng)用程序的控制流控制流和主要設(shè)置主要設(shè)置。可以說QApplication是Qt的整個后臺管理整個后臺管理的命脈它包含主事件循環(huán)主事件循環(huán),在其中來自窗口系統(tǒng)和其它資源的所有事件來自窗口系統(tǒng)和其它資源的所有事件被處理和調(diào)度。它也處理應(yīng)用程序的初始化和結(jié)束應(yīng)用程序的初始化和結(jié)束,并且提供對話管理提供對話管理。它也處理絕大多

2、數(shù)系統(tǒng)范圍和應(yīng)用程序范圍的設(shè)置系統(tǒng)范圍和應(yīng)用程序范圍的設(shè)置。對于任何一個使用任何一個使用Qt的圖形用戶界面應(yīng)用程序的圖形用戶界面應(yīng)用程序,都存在一個QApplication對象,而不論這個應(yīng)用程序在同一時間內(nèi)是不是有不論這個應(yīng)用程序在同一時間內(nèi)是不是有0、1、2或更多個或更多個窗口窗口。QApplication對象是可以通過全局變量通過全局變量qApp訪問訪問。它的負責(zé)的主要范圍有:它使用用戶的桌面設(shè)置桌面設(shè)置,例如palette()、

3、font()和doubleClickInterval()來初始化應(yīng)用程序。如果用戶改變?nèi)肿烂?,例如通過一些控制面板,它會對這些屬性保持跟蹤。它執(zhí)行事件處理事件處理,也就是說它從低下的窗口系統(tǒng)接收事件從低下的窗口系統(tǒng)接收事件并且把它們分派給相關(guān)的窗口部件分派給相關(guān)的窗口部件。通過使用sendEvent()和postEvent(),你可以發(fā)送你自己的事件到窗口部件發(fā)送你自己的事件到窗口部件。它分析命令行參數(shù)并且根據(jù)它們設(shè)置內(nèi)部狀態(tài)分析命令

4、行參數(shù)并且根據(jù)它們設(shè)置內(nèi)部狀態(tài)。關(guān)于這點的詳細情況請參考下面的構(gòu)造函數(shù)文檔。它定義了由QStyle對象封裝對象封裝的應(yīng)用程序的觀感應(yīng)用程序的觀感。在運行狀態(tài)下,可以通過setStyle()來改變。它指定了應(yīng)用程序如何分配顏色應(yīng)用程序如何分配顏色。詳細情況請參考setColSpec()。它定義了默認文本編碼默認文本編碼(請參考setDefaultCodec())并且提供了通過translate()用戶可見的本地化字符串。它提供了一些像de

5、sktop()和clipboard()這樣的魔術(shù)般的對象。它知道應(yīng)用程序的窗口應(yīng)用程序的窗口。你可以使用widgetAt()來詢問在一個確定點上存在哪個窗口部件一個確定點上存在哪個窗口部件,得到一個topLevelWidgets()(頂級窗口部件)的(頂級窗口部件)的列表列表和通過closeAllWindows()來關(guān)閉所有窗口來關(guān)閉所有窗口,等等。它管理應(yīng)用程序的鼠標光標處理鼠標光標處理,請參考setOverrideCurs()和se

6、tGlobalMouseTracking()。在X窗口系統(tǒng)上,它提供刷新和同步通訊流的函數(shù)刷新和同步通訊流的函數(shù),請參考flushX()和syncX()。它提供復(fù)雜的對話管理支持對話管理支持。這使得當(dāng)用戶注銷時,它可以讓應(yīng)用程序很好地結(jié)束,如果無法終止,撤消關(guān)閉進程并且甚至為未來的對話保留整個應(yīng)用程序的狀態(tài)。詳細情況請參考isSessionRested()、sessionId()、commitData()和saveState()。應(yīng)用程

7、序排演實例包含了一個QApplication通常用法的典型完整的main()。因為因為QApplication對象做了如此多的初始化,它必須在所有與用戶界面相關(guān)的其它類被創(chuàng)建之前被創(chuàng)建。對象做了如此多的初始化,它必須在所有與用戶界面相關(guān)的其它類被創(chuàng)建之前被創(chuàng)建。因為它也處理命令行參數(shù),在應(yīng)用程序中對因為它也處理命令行參數(shù),在應(yīng)用程序中對argv解釋和修改之前創(chuàng)建它通常是一個好主意。解釋和修改之前創(chuàng)建它通常是一個好主意。(注意,也對于X1

8、1,setMainWidget()可以根據(jù)geometry選項來改變主窗口部件。為了保持這個功能,你必須在setMainWidget()和它的任何重載之前設(shè)置你的默認。)二、二、QApplication兩類構(gòu)造的講解兩類構(gòu)造的講解QApplication::QApplication(int遍歷窗口部件遍歷窗口部件QWidgetwwhile((w=it.current())!=0)對于每一個窗口部件對于每一個窗口部件……itwupdate

9、()list刪除這個列表,不是這個窗口部件刪除這個列表,不是這個窗口部件QWidgetListQApplication::topLevelWidgets()[靜態(tài)靜態(tài)]返回應(yīng)用程序中頂級窗口部件的列表頂級窗口部件的列表。這個列表是使用new創(chuàng)建的并且必須由調(diào)用者刪除。如果沒有頂級窗口部件,這個列表是空的(QPtrList::isEmpty())。注意一些頂級窗口部件也許被隱藏了,例如如果當(dāng)前沒有工具提示被顯示的工具提示。注意一些頂級窗口

10、部件也許被隱藏了,例如如果當(dāng)前沒有工具提示被顯示的工具提示。實例:顯示所有隱藏的頂級窗口部件。顯示所有隱藏的頂級窗口部件。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]返回當(dāng)前層返回當(dāng)前層xy點的點的widget可以用來定位當(dāng)前窗口可以用來定位當(dāng)前窗口,和top

12、LevelAt不同的是widgetAt是以globalscreenposition來判斷的,而topLevelAt是以顯示區(qū)域為坐標區(qū)域以顯示區(qū)域為坐標區(qū)域的。voidQApplication::closeAllWindows()[staticslot]關(guān)閉所有頂級窗口。關(guān)閉所有頂級窗口。exitAct=newQAction(tr(“EexitActsetShtcuts(QKeySequence::Quit)exitActsetStat

13、usTip(tr(“Exittheapplication“))connect(exitActSIGNAL(triggered())qAppSLOT(closeAllWindows()))四、關(guān)于事件循環(huán)四、關(guān)于事件循環(huán)qApplication的事件循環(huán),就是MainLoop的事件循環(huán),當(dāng)然它的原理和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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論