- Qt5.9.1
此為 appPailioRecogntion 的更新版
改用 Qml 設計的主要原因是 QtQuick 中的 QtMultimedia 支援 Android 手機的相機功能
這個版本有兩個功能介面
- Camera Menu (新加入)
- Photo Gallery Menu
Photo Gallery Menu 與 appPailioRecogntion 版本一樣是自己設計一個圖片瀏覽器介面,但解決了讀圖檔過慢的問題。
A: 在Image item中有個asynchronous(異步)的功能,設定為true,圖片個別讀取完就會個別顯示,使用上會畫面會比較流暢。
Image{
// ...
asynchronous: true
}
A: 在 Image item 中有個 sourceSize 功能,可以限制載入圖片的尺寸。
Image{
// ...
sourceSize: QSize(width, height)
}
A: 透過 signals 和 slots ,以下是範例
- cName.h
class cName : public QObject{
//...
signals:
void send();
public slots:
void receive();
}
- cName.cpp
cName::cName() : QObject(parent){
//...
emit send(); // c++端發出send()這個signal,呼叫qml
}
- main.cpp
main(){
//...
QScopePointer name(new cName);
//...
engine.rootContext()->setContextProperty("name", name.data());
}
- menu.qml
Item{
Connections{
target: name
onSend: //c++端send()的呼叫
{
//透過send()呼叫後,欲執行的qml程式
}
}
Button{
onClicked: //按下Button後呼叫c++的函式
{
name.recieve(); //呼叫c++的receive()函式
}
}
}