999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Qt5在ARM平臺移植的關鍵技術實現

2018-09-18 09:56:54王春陽張家坤楊海濤
數碼設計 2018年2期
關鍵詞:嵌入式設備方法

王春陽,張家坤,楊海濤

(北方民族大學,計算機科學與工程學院,寧夏銀川,750021)

引言

隨著嵌入式系統的發展,在Linux下使用Qt開發嵌入式圖形用戶界面是嵌入式應用的重點[1]。Qt面向嵌入式系統圖形用戶界面的應用程序開發框架,其庫采用C++封裝,完全面向對象,可移植性好[2],所以許多廠家都在使用Qt做為開發平臺,但是在從Qt4到Qt5的大版本更新中取消了QWS,使用了自己觸控模塊,導致Qt5無法在某些ARM平臺更改屏幕顯示方向,并且導致tslib作為觸控輸入的設備觸控失靈。對于工業應用而言,人們習慣使用橫屏顯示并且使用tslib作為觸控輸入。Qt5在以上功能的改動導致許多開發人員在硬件選型上不得不更換對應的硬件,增加開發成本。由此可見,使 Qt5在ARM平臺實現屏幕旋轉和校準tslib觸控是非常重要的。

1 技術實現原理

1.1 屏幕翻轉實現原理

使用 Qt5中的 QGraphicsScene、QGraphicsProxyWidget、QGraphicsView類的相應函數實現屏幕翻轉。這些類的主要功能如下:

QGraphicsScene對象是QGraphicsItem對象的容器[3],主要功能如下:

(1)提供管理大量圖元的快速接口。

(2)傳播鼠標、鍵盤等事件給場景中的每個圖元。

(3)管理圖元狀態,如圖元選擇和焦點處理。

(4)提供無變換的渲染功能,如打印。

將需要旋轉的窗口加入QGraphicsScene場景中,用QGraphicsProxyWidget代理QGraphicsScene,并且利用QGraphicsProxyWidget的旋轉函數旋轉90度或者270度。下面是流程圖:

圖1 屏幕翻轉流程圖

1.2 觸控校準實現原理

tslib 是觸摸屏應用級的一個程序庫,用來封裝底層的觸摸屏驅動的操作[4]。因為在Qt4中只要配置好tslib的絕對路徑與頭文件和庫的路徑就可以使用tslib,但是Qt5增加了自己的觸控模塊,所以要使用tslib必須開啟tslib模塊并且需要額外增加tslib的一個庫才可以正常使用tslib作為觸控輸入。

2 具體實施方法

2.1 屏幕翻轉實施方法

(1)聲明QGraphicsScene類的對象:

QGraphics Scene*scene = new QGraphicsScene;

(2)聲明QGraphicsProxyWidget類對象,將要旋轉的窗口的指針作為參數加入scene中:

QGraphicsProxyWidget*w = scene->addWidget(form);

(3)設置將QGraphicsProxyWidget的對象翻轉90度:

w->setRotation(90);

(4)聲明QGraphicsView類對象:

QGraphicsView*view = new QGraphicsView(scene);

(5)用resize函數調整view的大小:

view->resize(1200,800);

(6)用show函數將view顯示出來:

view->show();

2.2 觸控校準實施方法

修改profile 文件,校準文件的存放位置,觸摸屏設備,指定幀緩沖設備,tslib 庫文件路徑[5]。

(1)在環境變量中增加QT_QPA_FB_TSLIB=1。

因為Qt5取消了QWS增加了QPA,所以要使用tslib模塊作為觸控輸入必須使用QT_QPA_FB_TSLIB=1開啟tslib模塊。

(2)在環境變量中增加 LD_PRELOAD=$TSLIB_ROOT/lib/libts.so,$TSLIB_ROOT。

TSLIB_ROOT是tslib所在絕對路徑。這樣就將tslib相應的庫添加進環境變量,然后更新環境變量。

3 試驗結果

3.1 屏幕翻轉實驗結果

如圖2,通過本文所使用的方法,Qt的窗口已經實現順時針90度的旋轉。此時將設計好的Qt程序移植在ARM平臺則屏幕也已經順時針旋轉90度。本文所使用方法只能旋轉加入QGraphicsScene類的窗口以及他們的子窗口。其他未加入QGraphicsScene類的窗口并不會旋轉。

圖2 屏幕旋轉結果

3.2 觸控校準實驗結果

沒有使用本文方法前,觸控命中率為 10%。通過本文所使用的方法校準之后觸控命中率達到99%。

4 結束語

本文針對當前Qt5在ARM設備上屏幕無法旋轉以及tslib觸控失靈的問題提出了相應的解決方法。通過本文所使用的方法解決了ARM設備屏幕無法旋轉的問題以及tslib在Qt5上觸控失靈的問題。

[1]王浩南, 劉益成.基于嵌入式Linux系統下的Qt開發[J].電腦開發與應用, 2010, 23(01): 11-13.

[2]吳燕燕, 賀鋒濤.基于ARM9平臺上Qt/Embedded的移植與開發[J].液晶與顯示, 2013, 28(02): 261-265.

[3]陸文周.Qt5開發及實例[M].北京: 電子工業出版社, 2015: 205.

[4]張敏, 張井崗.Linux平臺下支持觸摸屏的Qt/Embedded移植[J].計算機技術與展, 2011, 21(10): 154-156+160.

[5]舒明蕾, 華驚宇, 賴尚校.基于DM365平臺的Qt/Embedded移植[J].微型機與應用, 2015, 34(05): 19-21.

猜你喜歡
嵌入式設備方法
諧響應分析在設備減振中的應用
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 免费不卡视频| 国产日韩欧美精品区性色| 国产精品人莉莉成在线播放| 青青草国产在线视频| 97国产在线观看| 青青草一区| 熟女视频91| 亚洲Va中文字幕久久一区| 女高中生自慰污污网站| 精品久久人人爽人人玩人人妻| 日本在线免费网站| 在线日本国产成人免费的| 日韩精品无码免费专网站| 欧美成a人片在线观看| 在线播放精品一区二区啪视频| 99性视频| 福利小视频在线播放| 欧美成人区| 精品国产一二三区| 欧美国产在线看| 成人精品亚洲| 国产精品丝袜视频| 免费人成视网站在线不卡| 国产欧美日韩另类精彩视频| 久久黄色免费电影| 伊人久久福利中文字幕| 色婷婷综合激情视频免费看| 久久网欧美| 综合色88| 亚洲精品第五页| 99久久精品免费看国产电影| 在线观看亚洲精品福利片| 亚洲精品无码高潮喷水A| 亚洲天堂在线免费| 97国产一区二区精品久久呦| 亚洲欧美色中文字幕| 国产欧美网站| 国产对白刺激真实精品91| 亚洲区一区| 亚洲综合一区国产精品| 伊人精品成人久久综合| 人妻丰满熟妇啪啪| 最新国语自产精品视频在| 国产黄网永久免费| 精品视频第一页| 日韩成人在线视频| 国产精品成| 国产视频自拍一区| 婷婷五月在线| 99热这里只有精品2| 少妇精品网站| 黄色三级网站免费| 久久大香香蕉国产免费网站| 香蕉在线视频网站| 国产黄色片在线看| 在线免费看片a| 欧美第一页在线| 青青草原国产| 国产va在线观看| 色婷婷成人| 成年网址网站在线观看| 亚洲国产理论片在线播放| 她的性爱视频| 亚洲一区二区约美女探花| 国产精品专区第一页在线观看| 美女毛片在线| 亚洲综合亚洲国产尤物| 91 九色视频丝袜| 国产一级α片| 中文字幕波多野不卡一区| 久久精品aⅴ无码中文字幕| 国产精品白浆在线播放| 成人噜噜噜视频在线观看| 日本久久久久久免费网络| 91色爱欧美精品www| 666精品国产精品亚洲| 亚洲国产成熟视频在线多多| 少妇精品久久久一区二区三区| 在线观看欧美国产| 精品国产免费观看| 97久久超碰极品视觉盛宴| 精品视频在线一区|