2009年6月18日 星期四

(參考書籍)精通Qt4視窗介面程式開發與設計

如果覺得看Qt網頁API的英文資料很累,可以參考中文書籍.
書名:精通Qt4視窗介面程式開發與設計
書號:PG20304
作者:蔡志明、盧傳富、李立夏 等編著
ISBN: 978-986-201-514-8

2009年6月17日 星期三

使用QWebView網頁瀏覽的Proxy設定方式

QNetworkProxy proxy;
proxy.setType(QNetworkProxy::HttpProxy);
proxy.setHostName("example"); //HTTP proxy
proxy.setPort(1234); //Port
QNetworkProxy::setApplicationProxy(proxy);
ui->webView->setUrl(QUrl("http://www.google.com.tw/"));

2009年6月16日 星期二

Embedded Linux系統視窗程式設計-QT(4-11)Qt Creator Embedded GUI介面設計

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu10.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的: 撰寫Shell Scripting執行Qt export參數.
3. 實驗步驟:
(1). 開啟純文字檔,檔名改為〝init.sh〞.
(2). 輸入:
#!/bin/sh

udhcpc eth0

#export tslib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/tmp/lib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/tmp/etc/pointercal
export TSLIB_CONFFILE=/tmp/etc/ts.conf
export TSLIB_PLUGINDIR=/tmp/lib/ts
export TSLIB_FBDEVICE=/dev/fb0

#cd /tmp/bin
#./ts_calibrate

#export Qt for Embedded Linux
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.0-generic
export QWS_KEYBOARD=None
export QWS_MOUSE_PROTO=tslib
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

cd /usr
mkdir local
cd /usr/local
mkdir Trolltech

ln -s /tmp/usr/local/Trolltech/QtEmbedded-4.6.0-generic /usr/local/Trolltech/
ln -s /tmp/etc/pointercal /etc/pointercal
printf "\033[9;0]" > /dev/tty0

cd /tmp/demo
./webkit -qws


/bin/sh
(3). 將撰寫好的Shell Scripting程式複製到有Qt for Embedded Linux的SD卡上,配置如下所示 .
(4). 如之前範例相同,使用GtkTerm mount SD卡後,至〝/tmp〞下輸入〝./init.sh〞執行Shell Scripting.(5). 下載完整程式:
http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/Qt%20Creator%5E_lab5/init.sh


2009年6月15日 星期一

Embedded Linux系統視窗程式設計-QT(4-10)Qt Creator Embedded GUI介面設計

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu10.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的: 使用Qt Creator內GUI Layouts物件設計webkit.
3. 實驗步驟:
(1). 開啟Qt Creator,〝File->New File or Project〞.
(2). 選擇〝Qt4 Gui Application〞.(3). 之後輸入project name後,至下列的歨驟就須勾選〝QtNetwork〞、〝QtWebKit〞,其餘的步驟與之前範例相同.(4). 加入Layouts物件,〝Push Button〞、〝QWebView〞.(5). 使用滑鼠拖拉物件如下圖所示,Push Button可以修改名稱.(6). 選擇〝Push Button〞按滑鼠右鍵後選擇〝Go to slot〞,再選擇〝clicked()〞設定按鍵方式.(7). 輸入〝ui->webView->setUrl(QUrl("http://00.00.00.00"));〞,IP address需自行修改,我這裡是輸入IP Cam的IP address.(或是使用Terminal輸入〝ping www.google.com〞會傳回google的IP address,直接瀏覽網頁)(8). 下載完整程式: http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/Qt%20Creator%5E_lab4/webkit.zip.
(9). 輸入〝Run〞編譯執行結果如下.


2009年6月14日 星期日

Embedded Linux系統視窗程式設計-QT(4-9)Qt Creator Embedded GUI介面設計

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu9.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的: 移植SMPlayer,SMPlayer是使用Qt設計GUI介面再加上MPlayer(需另外編譯)撥放程式所設計出來的多媒體撥放程式.
SMPlayer網站 http://smplayer.sourceforge.net/index.php?tr_lang=en.
3. 實驗步驟:
(1). 下載SMPlayer,路徑如下所示:
http://sourceforge.net/projects/smplayer/files/SMPlayer/0.6.8/smplayer-0.6.8.tar.bz2/download
(2). 下載完成後,先解壓縮.
(3). 至檔案〝smplayer-0.6.8/src〞下,開啟〝smplayer.pro〞.(4). 按〝Run〞開始編譯(須先將Qt Creator下Qt Versions指定成for Andes Core 的GCC),發現erroe,這些錯誤都是zlib產生的,因為目前zlib是for X86架構,我們需要單獨先使用for Andes GCC編譯過zlib.(5). zlib移植編譯步驟,請參照zlib移植章節.
(6). zlib編譯移植成功後,使用Qt Creator開啟SMPlayer程式〝findsubtitles/quazip〞路徑下〝ioapi.cunzip.c、zip.c〞指定#include的路徑.(7). 使用Qt Creator開啟SMPlayer程式〝smplayer.pro〞程式,將〝LIBS += -lz〞,使用〝#〞註解掉,使其不使用X86架構的zlib.(8). 重新按〝Run〞後產生for Andes Core的執行檔.(9). 依照Qt for Embedded移植章節所述,輸入參數後,執行〝smplayer -qws〞,結果如下所示.








2009年6月13日 星期六

Embedded Linux系統視窗程式設計-QT(4-8)Qt Creator Embedded GUI介面設計

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu9.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的: 使用Webkit 讀取IP Cam MJPEG的影像.
3. 實驗步驟:
1. 將實驗環境架設好,如下圖所示,依照下列圖示架設系統Desktop PC可以使用NFS與ADP-XC5實驗板做溝通.
先在Desktop PC上使用Qt Creator指定X86架構的GCC編譯器,撰寫程式,當程式設計完成後,再將Qt Creator指定Andes Core架構的GCC編譯器,之後使用NFS連接至ADP-XC5實驗板執行程式.
(1). IP Cam 如下圖所示,將網路線連接至Hub並接上電源(按下Reset 鍵可恢復預設IP Address).(2). 預設IP Address請參考你所購買的IP Cam說明書所示.2. 下載完整程式:
http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/AndeSight%5E_V133%5E_qt%5E_ex2/AndeSight%5E_V133%5E_qt%5E_ex3/qt%5E_ex3.zip

3. 編譯程式,並執行程式,再網址處修改程IP Cam的IP Address後就可以在webkit上看到畫面,如下圖所示.之後就可以移植至ADP-XC5實驗板上或是開發影像辨識的演算法.



2009年6月12日 星期五

Qt Creator_增加module

1. 每一次開啟New Project時Qt Creator都會要求我們勾選module,當剛開始撰寫程式時,我們還不確定會用到哪些module,可能沒有勾選到.
2. 當臨時要增加新的module時,請將".pro"檔開啟,輸入"QT += 模組名稱",增加module後才不會造成include特殊的函式庫編譯不過的情形發生.



2009年6月11日 星期四

Qt Creator_lab3

實驗步驟與程式:
http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/Qt%20Creator%5E_lab3/lab03.zip


2009年6月10日 星期三

Qt Creator_lab2

實驗步驟與程式:
http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/Qt%20Creator%5E_lab2/lab02.zip


2009年6月9日 星期二

Qt Creator_lab1

實驗步驟與程式:
http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/Qt%20Creator%5E_lab1/lab01.zip


2009年6月7日 星期日

Embedded Linux系統視窗程式設計-QT(4-7)Qt Creator Embedded GUI介面設計

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu9.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的: 接龍遊戲.
3. 實驗步驟:
(1). 支援觸控面板並增加SVG:
其他building步驟與Embedded Linux系統視窗程式設計-QT(4-3)移植Qt for Embedded Linux相同.
下載完整程式:
http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/AndeSight%5E_V133%5E_qt%5E_ex2/qt%5E_ex2.zip
注意: 可縮放向量圖形(Scalable Vector Graphics,SVG),用於描述二維向量圖形的一種圖形格式.SVG由W3C制定,是一個開放標準.因為此次實驗會使用到QT API 類別QGraphicsSvgItem,因此需加入-svg.
(2). 執行程式結果.





2009年6月6日 星期六

Embedded Linux系統視窗程式設計-QT(4-6)Qt Creator Embedded GUI介面設計

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu9.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的: 顯示多頁的數位相框.
3. 實驗步驟:
(1). 下載程式編譯後,存至SD卡內,使用〝Terminal〞輸入./QtCoverFlow -qws〞執行程式.
下載完整程式:
http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/AndeSight%5E_V133%5E_qt%5E_ex1/qt%5E_ex1.zip
注意: 使用Qt Creator觀看他人撰寫的程式時,如有不了解的API,可以先將類別名稱反白後,再按〝F1〞鍵,會自動跳出Help視窗.
(2). 執行程式結果.(3). 此範例程式Qt API介紹:
Main Classes:
QApplication: GUI 應用控制與基本設定.
Public Functions:
QApplication: 初始化視窗系統與建構.

Main Classes:
QDir: 存取目錄與檔案內容.
Public Functions:
setFilter: 設定篩選檔案內容.
setNameFilters: 設定篩選相關副檔名檔案.

Main Classes:
QStringList: 列出需顯示的連續的明細.
Public Functions:
QStringList: 列出需顯示的連續的明細.

Main Classes:
QWidget: 基本使用者介面物件.
Public Slots:
show: 展示widget類別與其他子類別.
setAttribute: 定義widget類別屬性.

Main Classes:
QImage: 規定與硬體無關圖片顯示表現方式,允許存取pixel的資料和使用paint裝置.
Public Functions:
QImage: 建構null image.
scaled: 設定複製圖片至符合特定的方框區域.
width: 傳回圖片寬度.
height: 傳回圖片高度.

Classes:
Qpoint: 定義point水平用法.
Public Functions:
Qpoint: 定義point水平用法.

Classes:
QLinearGradient: 一般配合QBrush(色刷)使用,直線漸層效果色刷.
Public Functions:
QLinearGradient: 漸層效果色刷.

Classes:
QGradient: 一般配合QBrush(色刷)使用,環狀漸層效果色刷.
Public Functions:
setColorAt: 設定漸層效果色刷停止點位置(position)與設定顏色(color).

Main Classes:
QColor: 規定RGB,HSV或CMYK的色彩數值.
Public Functions:
QColor: 建構RGB色彩數值.

Main Classes:
QPainter: 展示低階繪圖的widgets基本使用者介面物件,與繪圖設備.
Public Functions:
setCompositionMode: 定義數位圖片構圖的模式.
fillRect: 將指定區塊使用填滿色彩.
end: 結束繪圖.
setBrush: 定義繪圖的刷子型態.
setPen: 定義筆繪圖線路的輪廓與文字顏色.
drawRect: 使用筆和刷子繪製方形.
setClipRect: 裁剪選定的區域.
setRenderHint: 當no為true時,給予繪圖表現特定的參數.

Classes:
QRunnable: 基本類別,可追蹤至所有物件.
Public Functions:
QRunnable: 默認啟用自動刪除.

Main Classes:
QString: 規定Unicode型態.
Public Functions:
QString: 建構字串型態.

Classes:
QImageReader: 規定讀取圖片格式檔案的介面.
Public Functions:
QImageReader: 建構讀取圖片格式檔案的介面.
setScaledSize: 規定這個圖片比例的大小.
Read: 從裝置中讀取圖片.

Classes:
QSize: 規定size二維空間座標值.
Public Functions:
QSize: 建構size寬度與高度.

Classes:
QDirIterator: 規定列出目錄的項目.
Public Functions:
QDirIterator: 建構列出目錄的項目,
hasNext: 如果傳回為true就增加目錄,反之為false返回.
next: 接續下一個目錄與return新的檔案路徑.

Classes:
QObject: 所有Qt基本類別物件.
Public Functions:
QObject: 建構物件的父類別.

Main Classes:
QList: 規定目錄的模板.
Public Functions:
QList: 建構目錄.

Classes:
QFileInfo: 提供獨立系統檔案訊息.
Public Functions:
QFileInfo: 建構物件的父類別.
baseName: 將指定路徑的檔案名稱傳回.

Classes:
QThreadPool: 管理QThread.
Public Functions:
QThreadPool: 建構繪製線管理物件的父類別並賦予特定父類別.

Classes:
QPaintEvent: 控制繪圖事件參數.
Public Functions:
QPaintEvent: 控制繪圖事件參數.

Classes:
QMouseEvent: 控制繪圖時滑鼠參數.
Public Functions:
QMouseEvent: 建構繪圖時滑鼠參數物件.
x: x軸值.

Classes:
QKeyEvent: 繪圖按鍵的事件.
Public Functions:
QKeyEvent: 建構按鍵事件物件
key: 傳回鍵盤的值是壓下還是放開.

Main Classes:
OFont: 字型加入圖畫文字.
Public Functions:
OFont: 建構字型物件.
family: 傳回要求字型家族名稱.

Classes:
QTransform: 轉換成2D的座標系統.
Public Functions:
QTransform: 建構個性模型.
scale: sx橫向與sy垂直座標演算法系統,與傳回參考值給模型.
rotate: 逆時針環狀座標系統,並將值傳回一個特殊座標軸.
translate: dx沿著x軸和dy沿著y軸移動座標系統,與傳回參考值給模型.

Classes:
QPointF: 定義點與平面間浮點的清晰度.
Public Functions:
QPointF:x: 傳回x座標給這個點.



2009年6月5日 星期五

Embedded Linux系統視窗程式設計-QT(4-5)Qt Creator Embedded GUI 交叉編譯

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu9.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的: 使用跨平台Qt Creator設計GUI介面,在交叉編譯時會發生〝collect2:ld returned 1 exit status〞的錯誤解決方式.
3. 實驗步驟:
(1). 依據Embedded Linux系統視窗程式設計-QT(4-4)所述新增一個新的計畫.
(2). 選擇〝Tools->Options...->Qt4〞,我們先選擇〝Qt 4.5.1 Commercial〞先使用X86架構下的linux-G++編譯.
注意: 當按下編譯按鍵後,發現〝collect2:ld returned 1 exit status〞的錯誤,請安裝〝sudo apt-get install qt4-dev-tools〞.(3). 再按下編譯按鍵後,編譯成功,並可以顯示結果.
(4). 在使用Andes toolchains編譯前,先將計畫下之前使用X86 linux-g++所編譯出的〝執行檔(exe)〞;〝Makefile〞;〝.o檔〞刪除.
(5). 當程式在X86架構下都編譯成功後,再使用Andes toolchains編譯, 選擇〝Tools->Options...->Qt4〞, 我們選擇〝QtEmbedded-4.5-1-generic〞.(6). 再按下編譯按鍵後,編譯成功,其他移植步驟如Embedded Linux系統視窗程式設計-QT(4-4)所示.


2009年6月4日 星期四

Embedded Linux系統視窗程式設計-QT(4-4)Qt Creator_2.0 Embedded GUI 介面設計

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu10.04.
(4). Toolchains: AndeSight v1.4 for Linux.
(5). Embedded Linux2.6.27.
2. 目的: 使用跨平台Qt Creator設計GUI介面,再移植至ADP-XC5實驗板.
3. 實驗步驟:
(1). 使用滑鼠選擇Ubuntu下的〝Applications〞->〝Programming〞->〝Qt Creator〞開啟Qt Creator.(2). 開啟〝/usr/local/Trolltech/QtEmbedded-4.7.0-generic/mkspecs/qws/linux-generic-g++/qmake.conf〞檔案,修改路徑:

# modifications to g++.conf
QMAKE_CC =
/home/acer/Andestech/AndeSight14/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-gcc -EL -G0 -Wa,-mno-small-data –lts
QMAKE_CXX = /home/acer/Andestech/AndeSight14/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-g++ -EL -G0 -Wa,-mno-small-data –lts
QMAKE_LINK = /home/acer/Andestech/AndeSight14/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-g++ -EL -G0 -Wa,-mno-small-data –lts
QMAKE_LINK_SHLIB = /home/acer/Andestech/AndeSight14/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-g++ -EL -G0 -Wa,-mno-small-data –lts

# modifications to linux.conf
QMAKE_AR = /home/acer/Andestech/AndeSight14/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-ar cqs
QMAKE_OBJCOPY = /home/acer/Andestech/AndeSight14/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-objcopy
QMAKE_STRIP = /home/acer/Andestech/AndeSight14/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-strip(3). 使用滑鼠選擇Qt Creator〝Tools〞->〝Options...〞->〝Qt4〞設定:
(a). 按〝+〞符號按鈕,增加〝Manual〞的選項.
(b). 設定
*Version name: QtEmbedded-4.7.0-generic
*qmake location: /usr/local/Trolltech/QtEmbedded-4.7.0-generic/bin/qmake
(c). 設定完成後按〝Rebuild〞,之後可以按〝Show Log〞查看路徑,最後按〝OK〞結束設定.(4). 選擇Qt Creator下的〝File〞->〝New File or Project〞,再選擇〝Qt C++ Project〞->〝Qt Gui Application〞->〝Choose…〞.(5). 輸入project 〝Name:〞名稱,這裡先輸入為〝helloqt〞;檔案路徑預設為〝/home/acer〞,這裡不做修改,按〝Next>〞.(6). 直接按〝Next>〞.(7). 〝Class Information〞有〝QMainWindows〞;〝QWidget〞;〝QDialog〞三個類別可以選擇,這裡先選擇〝QDialog〞作為範例,按〝Next>〞.(8). 按〝Finish〞,進入Edit視窗.(9). 點選〝Design〞視窗介面編輯模式,先將視窗大小設定成320x240以配合ADP-XC5實驗板上的3.5吋面板. (10). 之後使用滑鼠拖拉子視窗dialog.ui*的元件擺放.
注意:如要編輯程式請使用滑鼠選擇元件後按〝滑鼠右鍵〞->〝Go to slot...〞既可編輯程式.(11). 編輯完畢後,開始編譯程式,先選擇下圖所示〝電腦圖示ICOM〞->〝Buile〞->〝QtEmbedded-4.7.0-generic Release〞後按〝run圖示ICOM〞,開始編譯.(12). 將〝cd /home/acer/helloqt〞下產生的〝helloqt〞執行檔,複製到SD卡.注意:如ADP-XC5重新開機,請延續使用上一章節Embedded Linux系統視窗程式設計-QT(4-3)移植Qt for Enbedded Linux的步驟(17).~(22),如無重新開機可省略.
(13). 執行〝./helloqt -qws〞,顯示結果如下所示.注意: ADP-XC5實驗板Embedded Linux進入休眠狀態時,輸入〝printf “\033[9;0]” > /dev/tty0〞,開啟.
注意:中斷測試程式按〝Ctrl+C〞.
(14). 程式執行完畢後要卸載SD需再根目錄輸入〝umount /tmp〞.



Embedded Linux系統視窗程式設計-QT(4-4)Qt Creator_1.3 Embedded GUI 介面設計

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu9.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的: 使用跨平台Qt Creator設計GUI介面,再移植至ADP-XC5實驗板.
3. 實驗步驟:
(1). 使用滑鼠選擇Ubuntu下的〝Applications〞->〝Programming〞->〝Qt Creator〞開啟Qt Creator.
注意:編譯前,先在根目錄指定Toolchains,使用〝Terminal〞輸入〝source bashrc.nds32le-linux-V0〞,指定編譯路徑. (2). 選擇Qt Creator下的〝File〞->〝New〞,再選擇〝Qt4 Gui Application〞->〝OK〞.(3). 輸入project 〝Name:〞名稱,這裡先輸入為〝helloqt〞;檔案路徑預設為〝/home/acer〞,這裡不做修改,按〝Next>〞. (4). 不做選擇,按〝Next>〞.(5). 〝Base class〞有〝QMainWindows〞;〝QWidget〞;〝QDialog〞三個類別可以選擇,這裡先選擇〝QDialog〞作為範例,按〝Next>〞.(6). 按〝Finish〞,進入Edit視窗.(7). 再子視窗Projects選擇〝dialog.ui〞開啟視窗介面編輯.(8). 先將視窗大小設定成320x240以配合ADP-XC5實驗板上的3.5吋面板,,之後使用滑鼠拖拉子視窗dialog.ui*的元件擺放.
注意:如要編輯程式請使用滑鼠選擇元件後按〝滑鼠右鍵〞->〝Go to slot...〞既可編輯程式.
(9). 開始編譯跨平台程式:
A. 方式一.使用〝Terminal〞編譯:
(a). 選擇Qt Creator下的〝File〞->〝Save All〞,跳出對話框按〝Save All〞存檔.(b). 使用〝Terminal〞輸入之前檔案預設路徑存檔位置〝cd /home/acer/helloqt〞.(c). 指定Qmake編譯路徑,輸入〝/usr/local/Trolltech/QtEmbedded-4.5.1-generic/bin/qmake -project〞,Qmake路徑為Embedded Linux系統視窗程式設計-QT(4-3)移植Qt for Embedded Linux章節3.(14). 所示QT for Embedded Linuxu編譯結果存檔路徑.(d). 再輸入〝/usr/local/Trolltech/QtEmbedded-4.5.1-generic/bin/qmake〞.(e). 之後輸入〝make〞,開始編譯.B. 方式二,使用〝Qt Creator〞IDE的〝run〞按鈕:
(a). 使用滑鼠選擇Qt Creator〝Tools〞->〝Options...〞->〝Qt4〞:
設定:
*Version Name: QtEmbedded-4.5.1-generic
*Path: /usr/local/Trolltech/QtEmbedded-4.5.1-generic(QT for Embedded Linuxu編譯結果存檔路徑)
*設定完成後按〝+〞符號按鈕,增加〝Default Qt Version: 〞的選項.
(b). 設定〝Default Qt Version: QtEmbedded-4.5.1-generic〞->〝OK〞.(c). 開啟〝/usr/local/Trolltech/QtEmbedded-4.5.1-generic/mkspecs/qws/linux-generic-g++/qmake.conf〞檔案,修改路徑:
# modifications to g++.conf
QMAKE_CC = /home/acer/Andestech/AndeSight133/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-gcc -EL -G0 -Wa,-mno-small-data
QMAKE_CXX = /home/acer/Andestech/AndeSight133/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-g++ -EL -G0 -Wa,-mno-small-data
QMAKE_LINK = /home/acer/Andestech/AndeSight133/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-g++ -EL -G0 -Wa,-mno-small-data
QMAKE_LINK_SHLIB = /home/acer/Andestech/AndeSight133/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-g++ -EL -G0 -Wa,-mno-small-data

# modifications to linux.conf
QMAKE_AR = /home/acer/Andestech/AndeSight133/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-ar cqs
QMAKE_OBJCOPY = /home/acer/Andestech/AndeSight133/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-objcopy
QMAKE_STRIP = /home/acer/Andestech/AndeSight133/toolchains/nds32le-linux-glibc-V0/bin/nds32le-linux-strip
(d). 修改完畢後按Qt Creator IDE的〝run〞按鈕,開始編譯.(10). 將〝cd /home/acer/helloqt〞下產生的〝helloqt〞執行檔,複製到SD卡.
注意:如ADP-XC5重新開機,請延續使用上一章節Embedded Linux系統視窗程式設計-QT(4-3)移植Qt for Enbedded Linux的步驟(17).~(22),如無重新開機可省略.(11). 執行〝./helloqt -qws〞,顯示結果如下所示.注意: ADP-XC5實驗板Embedded Linux進入休眠狀態時,輸入
printf “\033[9;0]” > /dev/tty0〞,開啟.
注意:中斷測試程式按〝Ctrl+C〞.
(12). 程式執行完畢後要卸載SD需再根目錄輸入〝umount /tmp〞.