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

基于QT的圖形界面控制系統的開發

2011-12-31 00:00:00汪國強趙弘磊焦亮
科技創新導報 2011年21期

摘 要:在linux操作系統下,以qtopia為圖形界面應用程序開發平臺,介紹了圖形界面控制系統的開發過程。首先闡述了控制界面的開發環境的建立,介紹了界面應用程序的設計,以完成后續溫度數據采集、顯示、目標預設等功能。

關鍵詞:Qt技術圖形界面控制系統程序的設計

中圖分類號:TP29文獻標識碼:A文章編號:1674-098X(2011)07(c)-0023-02

隨著嵌入式技術的發展,越來越多的智能化帶有界面控制功能的小型設備深入到人們生活當中。開發者基于嵌入式領域中的Qt技術,設計出一套應用于工控領域的具有人機交互界面的智能控制系統,該系統實現AD雙路讀取、數據顯示、溫度預設、PWM自動調節等功能,本文著重介紹界面設計過程。

1 圖形用戶接口環境的建立

1.1 安裝Qt/Embedded2.3.7命令

tar xvzf qt-embeded-2.3.7.tar.gz

cd qt.2.3.7

export QTDIR=$QTDIR

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure –qconfig –qvfb –depths 4,8,16,32

Make sub-src

其中設置QT嵌入式開發包虛擬緩沖幀工具qvfb,并支持4,8,16,32位顯示顏色的深度。虛擬出來的緩沖幀和硬件平臺設備上的每個像素保持一致,這樣在軟件開發和系統調用時就不用總是刷新嵌入式設備的FLASH存儲空間,加速了整個研發的周期。

1.2 安裝Qt/X112.3.2

Qt/X112.3.2提供用戶接口編譯器uic,它所產生的源文件和Qt/embedded的庫一應起被編譯鏈接,但是QT for X11的版本該要比Qt/Embedded舊,否則會導致軟件不兼容。

1.3 安裝qtopia

為了避免qtopia2.2.0復雜的配置編譯的過程,我們直接從arm9論壇下載了關于qtopia的安裝腳本并執行。

2 圖形界面的設計

2.1 用QT圖形設計器設計控制界面

用QT圖形設計器是一個具有可視化用戶接口的設計工具。按照項目需要,控制界面要求簡單,可預設控制值,將界面分為一級主目錄和若干個二級子目錄和三級子目錄。其中主菜單為功能選項,二級子菜單包括狀態顯示、溫度預設、視頻監控、功能簡介等(視頻監控,和多算法選擇現在還沒有開發完全)。如圖一、圖二所示,為上位機QT環境下設計的一級菜單界面和子菜單中的狀態顯示界面:

uic自動創建了類 CDlgMonitorBase,這個類是以公有方式對QDialog窗口類的繼承:class CDlgMonitorBase : public QDialog。在該類中添加公有成員:QPushButton* btn_up;提供上選擇按鈕部件;其他三個觸摸按鍵添加同此方法,完成父類控件的信號與槽的配對,實現上下選擇、確定、取消功能:

connect((QObject*)btn_ok,SIGNAL(clicked()),this,SLOT(menu_select()));

在QT應用程序的read_adc(int ch)函數中,命令int ret = ioctl(adc_fd, ADC_SEL_CHANN, ch),其中ch是傳遞進來的通道號0或者1;adc_fd是設備號,這里傳遞進來的為ADC的設備號,而ADC_SEL_CHANN可以理解為一條命令,直接與ADC的驅動相聯系,調用驅動里命令讀取ADC數據寄存器ADCDAT0里的值,如果讀到值,ioctl返回值為1。最終read_adc(int ch)實現了讀取ADC數據寄存器中的值。系統不僅具備觸摸屏按鍵控制功能,而且具備硬件面板真實按鍵功能,為了能夠使兩者建立映射關系,在MyPIGPC.cpp中具體實現如下:

bt[0] = btn_status[0];

bt[1] = btn_status[1];

bt[2] = btn_status[2];

bt[3] = btn_status[3];

for (int i=0; i

{ btn_status[i] = 0; }

if (bt[0]) menu_movedn();

if (bt[1]) menu_select();

if (bt[2]) menu_moveup();

if (bt[3]) closeme();

btn_status[]是在頭文件中用靜態變量定義的四成員的數組,分別對應著控制的液晶觸摸按鍵,當硬件面板上有按鍵被按下,驅動程序會使btn_status[]中的相應變量值為1,然后btn_status[]數組值將賦值給數組bt[],值得注意的是兩個數組的區別,前者使用靜態變量定義的,會在內存中永久性地分成一片空間用來單獨感應按鍵是否被按下,將其值付給char型數組bt[]后,btn_status[]數組隨即清零以便感受是否有新的鍵被按下。menu_movedn();menu_select();menu_moveup();closeme();分別是觸摸上四個按鍵觸發后所對應的槽函數,當硬件按鍵被按下后,調用相應函數,實現的效果與點擊觸摸屏所實現的效果是一樣的。

2.2 硬件平臺控制界面的實現

將編寫好的程序經交叉編譯生成mypigpc,mypigpc.desktop,mypigpc.png三個文件,通過ftp傳到目標板以下三個目錄:

mkdir -p /opt/Qtopia/pics/mypigpc

cp mypigpc.png /opt/Qtopia/pics/mypigpc/

應用程序圖標存放在該文件夾下。

chmod 777 mypigpc

使登錄的所有人具有最高權限。

cp mypigpc /opt/Qtopia/bin

可執行文件存放該文件夾下。

cp mypigpc.desktop /opt/Qtopia/apps/Application

此時已把程序固化到硬件平臺的FLASH中。

3 結語

本文簡述了界面開發環境的建立,各級界面的設計,應用程序工作的流程。實現了界面控制、顯示、觸摸按鍵與硬件平臺按鍵的映射功能。

主站蜘蛛池模板: 在线看片国产| 国产伦精品一区二区三区视频优播| 国产呦精品一区二区三区下载| 无码中文AⅤ在线观看| 性做久久久久久久免费看| 国产swag在线观看| 就去吻亚洲精品国产欧美| 操国产美女| 亚洲国产成人自拍| 久久网综合| 亚洲日本中文字幕乱码中文| 九九热精品在线视频| 热伊人99re久久精品最新地| 亚洲av无码成人专区| 99福利视频导航| 亚洲精品你懂的| 女人毛片a级大学毛片免费| 美女国产在线| 欧美午夜久久| 国产尤物jk自慰制服喷水| 亚洲午夜福利精品无码| 国产三级a| 亚洲欧美另类色图| 亚洲精品成人福利在线电影| 国产成人91精品| 欧美无专区| 国产欧美在线视频免费| 伊人久久大香线蕉影院| 熟妇无码人妻| 亚洲一区二区视频在线观看| 中文字幕欧美日韩高清| av午夜福利一片免费看| 无遮挡一级毛片呦女视频| 久久精品国产免费观看频道 | 国产尤物在线播放| 久久精品中文字幕免费| 久久精品日日躁夜夜躁欧美| 久久黄色小视频| 欧美成在线视频| 国产午夜在线观看视频| 国产91精选在线观看| 在线观看无码av免费不卡网站 | 丝袜高跟美脚国产1区| 国产最新无码专区在线| 成人一级免费视频| 99国产在线视频| 国产视频自拍一区| 成年A级毛片| 伊人色在线视频| 成年A级毛片| 97国产在线观看| 国产又黄又硬又粗| 国产女人水多毛片18| 天堂网亚洲系列亚洲系列| 色偷偷男人的天堂亚洲av| 成·人免费午夜无码视频在线观看 | 国产精选小视频在线观看| 波多野结衣一区二区三区四区视频 | 中日无码在线观看| a国产精品| 在线观看国产网址你懂的| 九九热精品免费视频| 狠狠v日韩v欧美v| 日本在线视频免费| aⅴ免费在线观看| 欧美午夜在线视频| 日韩毛片免费| 在线免费观看AV| 青青草一区二区免费精品| 国产黑丝视频在线观看| 国产一级二级三级毛片| 久一在线视频| 国产成人精品日本亚洲77美色| 性色生活片在线观看| 国产精品久久久久无码网站| 国产精品污视频| 在线观看亚洲成人| 四虎国产在线观看| 亚洲精品777| 国产丝袜无码精品| 亚洲国产精品美女| 无遮挡一级毛片呦女视频|