Saya tidak yakin apa yang Anda maksud dengan "hybrid" (aplikasi C ++ yang menampilkan webapp? Mendistribusikan kode aplikasi antara C ++ / QML / javascript?), Tetapi Anda dapat menggunakan komponen WebView untuk menampilkan halaman web / webapp pada aplikasi qml . Ini harus bekerja di Ponsel Ubuntu juga.
Ambil aplikasi sederhana ini yang disusun oleh: "app.qml", "app.html" dan "app.js" (ya saya tahu, "aplikasi" ini cukup lemah ...). Ini hanya diuji dengan qmlviewer
, jadi jika Anda mencoba menjalankannya melalui IDE Anda mungkin harus memodifikasi sesuatu sehubungan dengan jalur relatif yang digunakan.
app.qml
import QtQuick 1.0
import QtWebKit 1.0
Rectangle {
width: 800
height: 600
WebView {
url: "app.html"
anchors.fill: parent
preferredWidth: 800
preferredHeight: 600
smooth: false
settings.developerExtrasEnabled : true
settings.javascriptEnabled: true
}
}
app.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hi</title>
<style>
body {
margin: 20px;
}
</style>
</head>
<body>
<a href="#" id="test_me">Click me!</a>
</body>
<script src="app.js"></script>
</html>
app.js
var x = document.getElementById("test_me");
x.onclick = function(){
console.log("Hi there");
new_elem = document.createElement("h2");
new_elem.textContent = "Hi there!";
document.getElementsByTagName("body")[0].appendChild(new_elem);
};
Semoga ini bisa membantu.