1.簡(jiǎn)介
Qt是目前一款比較主流的人機(jī)交互界面庫(kù)。它有很強(qiáng)的跨平臺(tái)能力,可移植性好,被廣泛應(yīng)用在PC端以及嵌入式領(lǐng)域。Qt可大致分為兩部分:QtGui和QtCore,QtGui提供開(kāi)發(fā)人員一套完整的開(kāi)發(fā)控件,可以快速開(kāi)發(fā)客戶(hù)端界面;QtCore則負(fù)責(zé)底層渲染以及事件驅(qū)動(dòng)等。而本章節(jié)主要介紹的是Qt的渲染機(jī)制,在Qt5中將底層渲染和窗口管理大致分為:
SylixOSFB、LinuxFB、KMS、XCB、Wayland。
SylixOSFB和LinuxFB采用相同的渲染方式:直接往FrameBuffer寫(xiě)像素值,這種方式只支持軟件渲染,主要使用CPU讀寫(xiě)內(nèi)存的方式。通過(guò)設(shè)置環(huán)境變量QT_QPA_PLATFORM=sylixosfb:fb=/dev/fb0和在程序啟動(dòng)時(shí)添加-platform sylixosfb兩種方式運(yùn)行Qt程序。
KMS:利用內(nèi)核配置模式和drm機(jī)制,配合egl-device實(shí)現(xiàn)的帶有GPU加速模式。
XCB:是在X11窗口管理系統(tǒng)嵌入OpenGL渲染模式
Wayland:是一套輕量級(jí)的窗口管理系統(tǒng),采用傳統(tǒng)的C/S框架,可以實(shí)現(xiàn)基于FrameBuffer和OpenGL兩種渲染方式。
2.SylixOSFB
2.1插件的初始化
SylixOSFB遵循QPA插件接口規(guī)范,在Qt程序初始化時(shí),初始化平臺(tái)管理窗口、事件分發(fā)、鼠標(biāo)鍵盤(pán)輸入管理、Screen屏幕繪制。如圖 2.1所示
圖 2.1 插件初始化
2.2窗口繪制
在SylixOSFBScreen中通過(guò)打開(kāi)fb0設(shè)備獲取屏幕信息,再通過(guò)mmap內(nèi)存映射,刷新屏幕像素值。如圖 2.2所示
圖 2.2 FrameBuffer讀寫(xiě)實(shí)現(xiàn)
2.3SylixOSFB的實(shí)現(xiàn)
下圖是SylixOSFB插件和QtGui層交互流程圖。如圖 2.3所示
圖 2.3 SylixOSFB交互流程
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前名稱(chēng):【SylixOS】Qt基于FrameBuffer渲染界面-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://jinyejixie.com/article8/dcgcip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄、商城網(wǎng)站、靜態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容