qml編譯器
⑴ qt4.8.6 怎麼配置qml編譯環境
1
下面介紹Windows版QT開發環境Qt Creater + MinGW + Qt libraries配置方法,
1.從MinGW網站下載mingw-get-inst-20120426.exe,默認安裝到C盤根目錄下:C:\MinGW,安裝時選擇C和C++ compiler ,默認只選中了C編譯器。
2
2.下載安裝配置QT libraries
http://qt-project.org/downloads
(1)可以在以上網址下載最新版的QT libraries,QT libraries就是QT Designer,QT設計師,用於設計UI界面。
最新版是Qt libraries 5.0 Beta 2 for Windows (501MB),我下載的是Qt libraries 4.8.3 for Windows (minGW 4.4, 317 MB),下載後是一個qt-win-opensource-4.8.3-mingw.exe安裝文件,大小為324M。
默認安裝路徑為C:\Qt\4.8.3,安裝時需要指定MinGW的安裝路徑為C:\MinGW。安裝完後需要把C:\Qt\4.8.3\bin目錄添加到系統變數的Path路徑中。
並新建系統環境變數QMAKESPEC,32位系統把值設置為C:\Qt\4.8.3\mkspecs\win32-g++;如果是64位系統,需要把值設置為C:\Qt\4.8.3\mkspecs\tru64-g++
還要新建系統環境變數QTDIR,值為C:\Qt\4.8.3
3.安裝後打開QT設計師主界面如圖:
3
3.下載安裝配置QT Creater
(1)還可以在上面的網址下載QT創建器。最新版本是Qt Creator 2.6.0 for Windows (51 MB),下載後是qt-creator-windows-opensource-2.6.0.exe,大小51M.
默認安裝到C:\Qt\qtcreator-2.6.0目錄下。需要把C:\Qt\qtcreator-2.6.0\bin目錄添加到系統變數的Path路徑中。如果不設置系統環境變數,則創建工程時kit不能設置成功,並且可創建的工程類型也會受到限制。
(2)設置QT Creator構建和運行配置項打開QT Creator,選擇菜單「工具/選項」,選擇左邊的"構建和運行",再選擇「Qt版本」選項卡,點擊「添加」,qmake路徑:C:\Qt\4.8.3\bin\qmake.exe。
如下圖所示:
4
還需要設置Compilers選項卡中的「手動設置」項的編譯器,Name設置為MinGW,編譯器路徑設置為C:\MinGW\bin\mingw32-g++.exe。
然後就可以正常的創建工程了。
(3)創建test1工程
選擇「文件/新建文件和工程」,在彈出的窗口左側選擇「其他項目」,右側選擇「空的Qt項目」,點擊「選擇」,設置工程名,並點擊「下一步」,由於之前已經設置了QT Creator構建和運行配置項,直接在彈出的窗口上點擊「下一步」即可。然後點擊「完成」,出現如下圖所示的工程test1。
⑵ 如何編譯qml文件
如何在QML(QML文件放在資源文件中)展現本地圖片文件
在程序中我獲取到一個文件路徑,比如root下面有個example.jpg文件,那麼我獲取到文件路徑為/root/example.jpg
這個時候如果我的QML文件不放在資源文件編譯,通過下列代碼
Image{
id: photoThumb
x: 100
y: 50
width: 600
height: 400
source: "/root/example.jpg"
}
可以正確地將圖片顯示出來
但是因為在打包的時候,為了程序能夠正確地運行出來,所有的QML文件都必須放在資源文件中,這樣上面的這段代碼就不能正確地運行了,圖片就顯示不出來了,程序報錯為 Cannot open: qrc:/root/example.jpg 我們可以看見打入資源包中的QML文件在訪問文件路徑的時候他不是到本地去找文件,而是在資源文件中尋找,結果導致找不到,從而我無法顯示圖片。
⑶ 如何評價QML
QML(Qt Markup Language)是基於JavaScript、宣告式編程的編程語言,用於設計用戶界面為主的應用程序。它是Qt Quick,諾基亞開發的用戶界面創建包的一部分。
QML 主要用於移動應用程序,注重於觸控輸入、流暢的動畫(60張/秒)和用戶體驗。QML documents 描述元素的對象樹。
Qt 附帶的QML 模塊包括原始圖形構建塊(例如,矩形、圖像)、建模組件;行為組件(例如,TapHandler、DragHandler、State、Transition、Animation)以及更復雜的組件控制項(例如,按鈕、滑塊、抽屜、菜單)。
這些元素可以組合起來構建從簡單的按鈕和滑塊到完整的支持 Internet 的程序的復雜組件。
QML 元素可以通過標准JavaScript內聯和通過包含的 .js 文件進行擴充。元素也可以通過使用 Qt 框架的C++組件無縫集成和擴展。
QML 是語言;它的 JavaScript 運行時是自定義的 V4 引擎,自 Qt 5.2 起;而Qt Quick是2D場景圖和基於它的UI框架。這些都是 Qt Declarative 模塊的一部分,而該技術不再稱為 Qt Declarative。
QML 和 JavaScript 代碼可以使用 Qt Quick Compiler 編譯成原生 C++ 二進制文件。或者,還有一種 QML 緩存文件格式,它動態存儲 QML 的編譯版本,以便在下次運行時更快地啟動。
開發工具
由於 QML 和 JavaScript 非常相似,幾乎所有支持 JavaScript 的代碼編輯器都可以使用。
但是,自 2.1 版以來的免費跨平台 IDEQt Creator和許多其他 IDE 中都提供了對語法突出顯示、代碼完成、集成幫助和所見即所得編輯器的全面支持。
qml 可執行文件可用於將 QML 文件作為腳本運行。如果 QML 文件以shebang開頭,則它可以直接執行。為部署打包應用程序(尤其是在移動平台上)通常涉及編寫一個簡單的 C++ 啟動器並將必要的 QML 文件打包為資源。
⑷ qmlscene是什麼,怎麼安裝
簡單辦法,把原來在QT\Qt5.3.1\5.3\msvc2013_64\\bin 文件夾下把 qmlscene.exe拷貝到E盤那個bin目錄下就行了 注意選擇編譯器時選和自己計算機一樣的編譯器 x86 or 64
⑸ 如何讓QT編譯器顯示游標
1 PC版本
在終端中輸入:sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer qt4-qmlviewer
◆qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator
◆qt4-doc 這個是幫助文檔
◆qt4-qtconfig Qt的配置工具,這個裝好默認好
◆qt4-demos 官方的一些Demo
◆qt4-designer 可視化窗體設置工具
◆qt4-qmlviewer 和qtcreator相關
安裝後,沒有安裝Qt Creator,在Ubuntu 圖形桌面上點擊左側的Ubuntu Software Center,搜索Qt ,選擇Qt Creator
完成後,在terminal命令行執行命令 qtcreator啟動Qt Creator了
註:如果需要編譯特定版本的,如4.8.5,則:
(1) 安裝一些依賴包
sudo apt-get install libX11-dev libXext-dev libXtst-dev
(2) 下載Qt源碼包 qt-everywhere-opensource-src-4.8.5.tar.gz,解壓後進入目錄
用命令 sudo ./configure -prefix /usr/local/Trolltech/Qt-4.8.5;sudo make;sudo make install即可
2 ARM版本
註:以下所使用的交叉編譯工具為arm-none-linux-gnueabi 如果使用arm-linux 做相應的修改即可
(1)下載Qt源碼包 qt-everywhere-opensource-src-4.8.5.tar.gz;
(2) 解壓後進入該文件夾,執行.
./configure -opensource -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -no-webkit -qt-libtiff -qt-libmng -qt-libjpeg -qt-libpng -no-qt3support -nomake demos -nomake docs -nomake examples -little-endian -host-little-endian -fast -lrt
(3) 執行make,及make install命令,一般時間比較長
(4) 完成後修改mkspecs文件的許可權,供qt creator使用: sudo chmod 775 mkspecs -R
(5) 配置qt creator:工具->選項->Qt4 找到「手動設置」增加一個,qmake路徑填第二步中的安裝目錄下的qmake路徑,」usr/local/Trolltech/QtEmbedded-4.8.5-arm/bin/qmake「
(6)配置完成後,打開項目後點左側「項目」,選擇剛才配置的Qt版本即可編譯生成arm版程序了
3 移植到ARM
(1)需要將usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib移植到ARM板上相同的位置,將plugins里的.so也移入..../QtEmbedded-4.8.5-arm/lib
(2) 對(1)中的lib/下的.so做鏈接
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so.4
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so.4.8
ln -s libQtGui.so.4.8.5 libQtGui.so
ln -s libQtGui.so.4.8.5 libQtGui.so.4
ln -s libQtGui.so.4.8.5 libQtGui.so.4.8
......
註:(1)(2) 也可以用壓縮打包整個lib,拷貝過去來實現
(3)vi ~/.bashrc 文件,加入
QTDIR=usr/local/Trolltech/QtEmbedded-4.8.5-arm
export QTDIR
PATH=$QTDIR/lib:$PATH
export PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
4 一些常見錯誤
(1) 「QMAKESPEC has not been set」,解決方案:sudo gedit ~/.bashrc ,添加內容:export QMAKESPEC=usr/local/Trolltech/QtEmbedded-4.8.5-arm/mkspecs/qws/linux-arm-gnueabi-g++
(2) 安裝了多種版本的QT,如果想默認使用QtEmbeddedb版本,可以在上述文件中加入:export PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/bin:$PATH
(3) 配置完成後,可使用qmake -project;qmake;make進行工程編譯
(4) arm開發板的終端打不開,出現"grantpt failed:..."問題,可以輸入:mount -o remount,gid=5,mode=620 /dev/pts 回車
(5) Qtcreator配置出現,沒有編譯鏈,則可加入GCCE編譯鏈,目標位置就是linux-none-arm-guneabi-g++所在位置
(6) 出現qmlviewer 沒有安裝的問題,可從/usr/bin里將qml開頭的三個可執行文件拷到usr/local/Trolltech/QtEmbedded-4.8.5-arm/bin下
(7) make 出現arm-none-linux-gnueabi-g++命令未找到,如果確定環境變數已經添加,則檢查文件所屬賬號是不是你現在賬戶;環境變數如果一直不對,可以關掉終端,新開一個,重新設置
(8) 如果開發板運行程序的時候出現 cannot mix incompatible Qt library with this library,查找資料,大家都說最可行性的解決方案是卸干凈,重新編譯,自己花了好長時間重新編譯後,發現還是一樣。然後用ldd <filename> 查看了運行文件依賴的庫,發現程序有部分鏈接到了開發板上的Qt庫。做了Qt動態庫的全部ln(具體見第3部分)
//////////////////////////////////////////////////////////////////////////////////////////////////////由於項目需要,需要加入觸屏,編譯過程中發現不同與之前的新的問題,記錄如下
一 觸屏庫tslib的編譯
1 下載相應的工具
do apt-get install automake
sudo apt-get install autogen
sudo apt-get install autoconf
sudo apt-get install libtool
2 很重要的一步,設置 CC和CXX
export CC=.... ,export CXX=...,一般CC=arm-linux-gcc ,CXX=arm-linux-g++,我的交叉編譯環境是arm-none-linux-gnueabi-gcc,arm-none-linux-gnueabi-g++,輸入命令 export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++
3 編譯
cd tslib
./autogen.shecho "ac_cv_func_malloc_0_nonnull=yes" > arm-none-linux-gnueabi.cache #(這樣做到目的是避免出現undefined reference to rpl_malloc錯誤)./configure --host=arm-none-linux-gnueabi CC=<你的cc編譯器所在路徑> CXX=<你的++編譯器所在路徑> --cache-file=arm-none-linux-gnueabi.cache -prefix=/usr/local/tslibmakemake install
4 檢查,可進入/usr/local/tslib/bin 里,file ts_test(或其他文件) 如果顯示ARM,表明編譯正確,如果顯示80386表明你用的不是交叉編譯器,而是系統的gcc。註:因為版本不一致,導致編譯QT時一直出現 fail to find tslib function...,加入-verbose選項,列印出/opt/../ld:cannot find -lts(tslib和qt編譯器版本不對應造成)。
二 編譯QTe 4.8.5
1 編譯指令需要改為./configure -opensource -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -no-webkit -qt-libtiff -qt-libmng -qt-libjpeg -qt-libpng -no-qt3support -nomake demos -nomake docs -nomake examples -little-endian -host-little-endian -no-xcursor -no-mouse-linuxtp -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -fast -lrt
不需要滑鼠的話就加上綠色的文字,並且修改./src/gui/embedded/qwscursor_qws.h,在文件頭部加上#define QT_NO_QWS_CURSOR
2 編譯器最好在qws/linux-arm-gnueabi-g++/qmake.conf中指定完全的路徑,否則可能出現一些奇怪的錯誤。
3 qmake.conf中記得加入-lts 在g++ gcc後面
三 移植到開發板
如果開發板中沒有tslib庫,則需要進行移植1 將tslib庫拷到開發板 /usr/local/tslib2 修改ts.conf vi /usr/local/tslib/etc/ts.conf -》將#mole_raw input前的#去掉3 vi /etc/profile 添加export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event1
export QWS_MOUSE_PROTO=tslib:/dev/input/event1
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none #避免出現「open console device: No such file or directory KDSETMODE: Bad file descriptor」的錯誤
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/libTSLIB_TSDEVICE 和QWS_MOUSE_PROTO這兩項需要查看自己的板子的觸摸屏設備對應/dev/input/下哪個文件可用cat /proc/bus/input/devices查看具體可參考博客http://blog.163.com/zhuandi_h/blog/static/180270288201222310291262/
頂
1
⑹ 如何在qt for android上用qml開發
直接創建qml工程即可,配置android編譯環境,接上手機可直接調試運行。
⑺ linux上qml的性能怎麼這么低
"在windows下編譯的程序在linux下用wine運行的效率都比在linux上編譯的原生程序快好多倍"
服了你了。
linux下的firefox比windows下的快
處理大量數據,用OpenOffice,還是linux下的快。
⑻ 如何設置Qt Quick Controls2的風格
1
Qt Quick Controls2的默認風格是一種樸素,輕量的風格,這種風格體現在控制項的所有方面。其好處就是能夠最大程度提高你的App性能
2
Qt Quick還根據谷歌提出的Material Design設計規則,提供了一套界面精美誘人的風格方案,相對默認風格來說,這種風格會更消耗系統資源
3
Qt Quick還根據微軟提出的Universal Design設計規則,提供了一套界面精美誘人的風格方案,相對默認風格來說,這種風格會更消耗系統資源
4
配置應用程序界面風格的一種方法是在C++源文件的main.c中,通過QQuickStyle的靜態方法setStyle來設置,比如下面的代碼將App風格設置為Material Design
5
另一種配置程序界面風格的方法是使用配置文件qtquickcontrols2.conf
該配置文件最終會作為程序的資源文件被編譯進程序當中,下面的配置代碼指定了目標程序使用Material Design規則,並且主題為light。為了使該配置文件生效,該文件必須被編譯進應用程序中,作為程序的資源文件
6
使用Material Style,需要import QtQuick.Controls.Material 2.0
其附加屬性有:
1. accent,color類型,表示重點色,默認是Material.Pink
2. primary,color類型,表示優選色,默認是 Material.Indigo
3. backbround,color類型,表示背景色,默認由主題指定(light或者dark)
4. elevation,int類型,表示海拔高度,值越大,陰影越深,該值與具體控制項相關
5. foreground,color類型,表示前景色,默認值由主題指定(light或者dark)
6. theme,枚舉類型,表示主題,默認是Material.Light,也可修改為Material.Dark
所有的屬性都可以被任何Item或者Window單獨設置,且可以傳遞給子對象Item。可以在QML文檔中設置,也可以在配置文件中設置全局的,但是在QML文檔中設置的優先順序更高
7
系統預定義的顏色有很多,並且在不同的主題下有不同的表現。
Material Style有一個附件方法:
color color(enumeration predefined, enumeration shade)
可以返回一個實際有效的color值,這個值由預定義的Material color和用戶指定的陰影值給出,shade預設為Material.Shade500
⑼ qt4.8.6qmake為什麼編譯不了qml
編譯 qt4.8 qmake
1. 假設你已安裝完成 crosstool
2. 去qt官網下載 qt-everywhere-opensource-src-4.8.2.tar.gz
3. ./configure 裁剪配置,我的配置如下
./qt-everywhere-opensource-src-4.8.2/configure -confirm-license -release -shared -opensource -embedded arm -xplatform qws/linux-arm-g++ -xmlpatterns -exceptions -no-qt3support -no-webkit -no-multimedia -depths 8,16,24,32 -qt-mouse-tslib -qt-kbd-linuxinput -I /usr/local/tslib/include -L /usr/local/tslib/lib -nomake examples,demos,docs
# make
# make install
⑽ 新安裝qt5.0,在編譯一個對話框過程中,提示編譯器問題出錯。
設置環境變數,或手動指定qmake路徑