91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT程序啟動加載流程簡介

發布時間:2020-05-25 18:51:56 來源:網絡 閱讀:2830 作者:suokin 欄目:編程語言

1. QT應用程序啟動加載流程簡介

1.1      QWSQPA啟動客戶端程序區別

1.1.1   QWS(Qt Window System)介紹

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

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

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

1.1.2   QPA(Qt Platform Abstraction)介紹

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

QT4的程序在嵌入式Linux運行時,需要加入參數“-qws”啟動QT窗口系統服務,如“./app -qws”運行app程序。QT5的程序運行時根據QT_QPA_PLATFORM變量指定的默認QPA插件,運行app程序, 也可以根據需要通過“-platform”來指定QPA插件運行,如:./app -platform eglfs./app -platform sylixosfb

 

1.2      QT程序簡單示例

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

QT程序啟動加載流程簡介

1.1 qt應用程序示例

1.3      QApplication

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

QT程序啟動加載流程簡介

1.2 QApplication加載流程

1.4      QGuiApplication

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

QT程序啟動加載流程簡介


1.3 GUI初始化核心階段

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

QT程序啟動加載流程簡介


1.4 創建SylixOS QPA插件

1.5      QCoreAppliction

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

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天门市| 衡山县| 昆山市| 香港| 芜湖市| 桃江县| 尚义县| 五大连池市| 汶川县| 旅游| 汉中市| 邹平县| 雷波县| 喀喇沁旗| 同仁县| 海淀区| 泰宁县| 鹤壁市| 夹江县| 阿克| 黄浦区| 盐山县| 虎林市| 陵川县| 德清县| 阜南县| 石台县| 耿马| 左贡县| 南漳县| 巴东县| 平遥县| 恩平市| 池州市| 盐津县| 浑源县| 绍兴县| 渝中区| 财经| 广水市| 长寿区|