QT程序啟動加載流程簡介

1. QT應(yīng)用程序啟動加載流程簡介

1.1     QWS與QPA啟動客戶端程序區(qū)別

1.1.1  QWS(Qt Window System)介紹

QWS(Qt Windows System)是QT自行開發(fā)的窗口系統(tǒng),體系結(jié)構(gòu)類似X Windows的C/S結(jié)構(gòu)。QWS Server在物理設(shè)備上顯示,QWS Client實現(xiàn)界面,兩者通過socket進行彼此的通訊。在很多嵌入式系統(tǒng)里,QT程序基本上都是用QWS來實現(xiàn),這樣保證程序的可移植性。

澧縣網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),澧縣網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為澧縣上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的澧縣做網(wǎng)站的公司定做!

在運行QT程序時添加-qws參數(shù),表示這個程序是QWS Server,否則是QWS Client。任何一個基于QT的application都可以做QWS Server。QWS Server一定先于QWS Client啟動,否則QWS Client將啟動失敗。在實際應(yīng)用中一般會指定某個特殊的application做QWS Server,這個application一般還會管理一些其它的系統(tǒng)資源。

QWS Server管理機制:QWS Server是一個server socket,QWS Client是一個client socket。QWS Client啟動時會主動向QWS Server的server socket建立連接。而后QWS Server通過這個socket傳遞QWS Command和QWS Event來管理QWS Client。

1.1.2  QPA(Qt Platform Abstraction)介紹

QPA (Qt Platform Abstraction)是QT5的平臺抽象層,并取代QT4中的QWS和平臺端口。從QT5開始,QT自身不再單獨實現(xiàn)窗口系統(tǒng),QWS不復(fù)存在,取而代之的新機制是QPA,QPA使得QT對不同平臺的支持變得更加靈活,當(dāng)需要支持一個新平臺時,只需為該平臺編寫一個QPA插件。QPA的相關(guān)代碼分別在qtbase/serc/gui/kernel/qplatform/目錄下,以及平臺抽象層插件在qtbase/src/plugins/platforms/目錄下。

QT4的程序在嵌入式Linux運行時,需要加入?yún)?shù)“-qws”啟動QT窗口系統(tǒng)服務(wù),如“./app -qws”運行app程序。QT5的程序運行時根據(jù)QT_QPA_PLATFORM變量指定的默認QPA插件,運行app程序, 也可以根據(jù)需要通過“-platform”來指定QPA插件運行,如:./app -platform eglfs、./app -platform sylixosfb。

 

1.2     QT程序簡單示例

QT作為GUI界面庫,提供了不同功能模塊的編程接口,例如基本控件庫、數(shù)據(jù)庫操作、圖表庫、瀏覽器控件、以及3D模塊。另外QT也提供一種類似HTML解釋性腳本語言QML,并且與JavaScrip腳本的交互,提供了良好的接口操作。程序員可以通過C++和QML語言開發(fā)應(yīng)用程序。如圖 1.1所示:

QT程序啟動加載流程簡介

圖 1.1 qt應(yīng)用程序示例

1.3     QApplication類

通過圖 1.1客戶端程序分析QT程序初始化流程。一個客戶端程序創(chuàng)建的時候,都會首先創(chuàng)建一個QApplication app對象,它為客戶端程序提供必須的運行環(huán)境。具體流程如圖 1.2所示:

QT程序啟動加載流程簡介

圖 1.2 QApplication加載流程

1.4     QGuiApplication類

QGuiApplication在QT程序初始化中處于重要的地位,它主要初始化父類、解析命令行輸入、初始化窗口的風(fēng)格、初始化QPA、加載QT插件、初始化Gui資源、以及初始化OpenGL上下文環(huán)境。如圖 1.3所示:

QT程序啟動加載流程簡介

圖 1.3 GUI初始化核心階段

在QT5中可以根據(jù)不同系統(tǒng)提供QPA插件,為客戶端程序提供顯示服務(wù),在SylixOS系統(tǒng)下,提供platform/plugin/sylixosfb 平臺抽象層插件,為QT客戶端程序提供渲染運行環(huán)境。如圖 1.4所示:

QT程序啟動加載流程簡介

圖 1.4 創(chuàng)建SylixOS QPA插件

1.5     QCoreAppliction類

QCoreApplication為客戶端程序提供國際化支持、以及事件分發(fā)機制。

 

 

分享題目:QT程序啟動加載流程簡介
網(wǎng)站URL:http://bm7419.com/article48/jcicep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站策劃、軟件開發(fā)、定制網(wǎng)站、App設(shè)計、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名