iMX6系列應(yīng)用筆記-iMX6Q開發(fā)板QT相關(guān)應(yīng)用講解
一、iMX6開發(fā)板如何將QT程序加載到主界面
以下的方法是如何將自己的QT程序加載到桌面的主界面上。我們以添加 music 程序為例:
1、在文件系統(tǒng)中進(jìn)行修改:
修改 opt/qt4.8.5/demos/embedded/fluidlauncher/config.xml 文件:
打開該文件后,在
<example filename="../../../apps/backlight" name="backlight test"image="screenshots/apps/backlight.png"/>
的下一行添加
<example filename="../../../apps/music"name="MUSIC test"image="screenshots/apps/music.png"/>
添加完成后記得保存。
2、添加應(yīng)用的桌面圖標(biāo):
在 opt/qt4.8.5/demos/embedded/fluidlauncher/screenshots/apps 中添加 music.png圖片,用作主界面識別 music 程序用。
3、添加可執(zhí)行程序:
在 opt/qt4.8.5/apps 中添加自己編譯的可執(zhí)行文件 music,并給可執(zhí)行文件用chmod 命令賦予可執(zhí)行權(quán)限。
4、保存并應(yīng)用:
如果以上操作是在iMX6Q開發(fā)板上進(jìn)行的,完成后需執(zhí)行 sync 保存,重啟iMX6Q開發(fā)板此時打開主界面,即可看到自己添加的music 可執(zhí)行程序。也可以在iMX6Q用戶資料的文件系統(tǒng)中修改,修改完成后重新打包并燒寫到iMX6Q開發(fā)板上即可。
二、開機(jī)自啟動QT應(yīng)用程序
以下方法是如何將自己做的應(yīng)用程序設(shè)置為iMX6Q開發(fā)板啟動直接運(yùn)行,我們以music程序為例,假設(shè)該文件放到了/opt/qt4.8.5/apps 路徑下,客戶自己操作時請根據(jù)實際的文件名和路徑。
修改開機(jī)啟動腳本
OKMX6 平臺 Qt 系統(tǒng)開機(jī)后默認(rèn)啟動桌面程序 fluidlauncher,若要改成默認(rèn)啟動其他 Qt應(yīng)用程序,修改文件系統(tǒng)/etc/rc.d/apps.sh文件,如果在iMX6Q開發(fā)板上操作,在超級終端執(zhí)行以下命令:
root@freescale /$ vi /etc/rc.d/apps.sh
通過vi命令將apps.sh文件修改為以下內(nèi)容:
#!/bin/sh
#app
#cd /opt/qt4.8.5/demos/embedded/fluidlauncher
#./fluidlauncher -qws &
cd /opt/qt4.8.5/apps
./music -qws &
#apps
保存該文件后,執(zhí)行sync保存命令;重啟就可以看到默認(rèn)啟動了剛設(shè)置的應(yīng)用程序。也可以修改文件系統(tǒng)源碼下的etc/rc.d/apps.sh 文件,改動方法同上,然后重新制作文件系統(tǒng)映像并燒寫到iMX6平臺。
三、QT桌面旋轉(zhuǎn)90度
通過以下方法可以將屏幕上的QT旋轉(zhuǎn)90度,180度或者是270度。以旋轉(zhuǎn)90度為例:
修改文件系統(tǒng)中的QT環(huán)境變量腳本:
root@freescale /$ vi /etc/rc.d/qt_env.sh
將 export QWS_DISPLAY="linuxfb:mmWidth50:mmHeight130:0"
修改為export QWS_DISPLAY=”Transformed:Rot90:LinuxFb:/dev/fb0”
修改完成后保存該文件并執(zhí)行sync命令后,重啟iMX6Q開發(fā)板即可;有些QT界面不能夠適應(yīng)旋轉(zhuǎn)后的寬高等,需要重新編譯調(diào)整下qt界面的圖形界面。也可以修改文件系統(tǒng)源碼下的etc/rc.d/qt_env.sh 文件,改動方法同上,然后重新制作文件系統(tǒng)映像并燒寫到平臺。
四、QT程序顯示漢字
有些客戶想要在QT應(yīng)用界面上顯示中文,可以參考以下方法,要在 Qt 的應(yīng)用程序中顯示漢字,需滿足2 個條件。
方法1、
漢字庫
如“宋體” simsun.ttc,如果 Qt 找不到漢字庫,或者要顯示的漢字不再 Qt能找到的漢字庫中,可以用 WindowsXp 下的字庫文件,在 windows/fonts 目錄直接拷貝到 Qt 的 lib/fonts 目錄下(/opt/qt4.8.5/lib/fonts); 使用./test –font simsun 即可顯示字體。
漢字編碼
需要將要顯示漢字的編碼告訴 Qt,如果使用 tr 轉(zhuǎn)換顯示的漢字,則在類的構(gòu)建函數(shù)中添加
Ui->setupUi(this);
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));//tr 使用的編碼
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));//QString 使用的編碼,沒有這一條
//則 QString str(tr(“中文” )),能正常顯示, QString str(“中文” );會顯示亂碼。
另外要特別注意的是這兩條語句放置的位置,在構(gòu)造函數(shù)中,只對當(dāng)前類有效,放到main 函數(shù)中,無效。
這樣,在該類的后面使用 tr 轉(zhuǎn)換的字符串,就會認(rèn)為是 utf8 編碼的了。
注:外邊文件夾有例子和字體包
方法2、
漢字庫
如果 Qt 找不到漢字庫,或者要顯示的漢字不再 Qt能找到的漢字庫中, 可以用 Windows 下的字庫文件[ c:\windows\fonts ]目錄直接拷貝到 Qt 的 lib/fonts 目錄下(/opt/qt4.8.5/lib/fonts).此方法需要放置兩個字體文件到fonts下。
漢字編碼
需要將要顯示漢字的編碼告訴 Qt. 本歷程在main函數(shù)中指定程序默認(rèn)字體和字體大小, 并指定漢字編碼默認(rèn)為utf8格式。
指定程序全局默認(rèn)顯示中文字體庫, 和字體大小。
顯示中文, 使用 QT內(nèi)建 tr()轉(zhuǎn)換函數(shù), 轉(zhuǎn)換為上文程序默認(rèn)指定的utf8編碼格式. 減少亂碼的情況。
注:外邊文件夾有例子和字體包
相關(guān)產(chǎn)品 >
-
FETMX6Q-C核心板
i.MX6Q核心板板層出不窮,要如何選擇?飛凌解讀i.mx6Q芯片強(qiáng)性能為您推薦四核A9架構(gòu)的i.MX6Q產(chǎn)品精選,包含iMX6Q 核心板、i.MX6Q 核心板、iMX6Q工業(yè)級核心板,歡迎采購。 i.MX6Q核心板基于NXP(原Freescale)Cortex-A9架構(gòu)的i.MX6Q四核處理器設(shè)計,核心板小尺寸核心板搭配獨(dú)特的薄款連接器,讓設(shè)計隨心所欲!
了解詳情 -
OKMX6Q-C開發(fā)板
雙千兆飛凌嵌入式iMX6Q開發(fā)板,板對板連接器,纖薄之際,次底板支持iMX6Q和iMX6DL核心板。i.MX6Q開發(fā)板與i.MX6DL開發(fā)板資源豐富,原理圖、PCB、軟件資源、硬件資源下載,技術(shù)支持等。歡迎選購
了解詳情 -
OKMX8MP-C開發(fā)板
內(nèi)置NPU、ISP,AI計算能力高達(dá)2.3TOPS|飛凌嵌入式i.MX8MP 系列-NXP iMX8M Plus 開發(fā)板 基于高性能低功耗工業(yè)級iMX8MP核心板設(shè)計,支持多種多種高速通信接口。iMX8MP開發(fā)板內(nèi)置NPU,AI計算能力2.3TOPS,支持4K,支持雙圖像信號處理器(ISP),是一款支持LinuxQT/android操作系統(tǒng)的iMX8MP開發(fā)板。
了解詳情 -
FETMX8MP-C核心板
iMX8MP核心板基于 NXP? i.MX 8M Plus 處理器設(shè)計,? 采用4核Cortex-A53 和 Cortex-M7架構(gòu)。支持雙千兆網(wǎng)口,iMX8MP性能強(qiáng)勁最高運(yùn)行速率可達(dá)2.3TOPS,并且i.MX8MP功耗更低≤2W 。iMX 8M Plus系列專注于機(jī)器學(xué)習(xí)和視覺、高級多媒體以及具有高可靠性的工業(yè)自動化。它旨在滿足智慧家庭、樓宇、城市和工業(yè)4.0應(yīng)用的需求。飛凌iMX8MP核心板提供用戶手冊,iMX8MP原理圖,引腳定義等。
了解詳情