Tôi không chắc ý của bạn với "hybrid" (ứng dụng C ++ hiển thị ứng dụng web phân phối mã ứng dụng giữa C ++ / QML / javascript?), Nhưng bạn có thể sử dụng thành phần WebView để hiển thị trang web / ứng dụng web trên ứng dụng qml . Điều này cũng hoạt động trên Ubuntu Phone.
Sử dụng ứng dụng đơn giản này bao gồm: "app.qml", "app.html" và "app.js" (vâng tôi biết, "ứng dụng" này khá khập khiễng ...). Điều này chỉ được thử nghiệm với qmlviewer
, vì vậy nếu bạn cố chạy nó qua IDE, có lẽ bạn sẽ phải sửa đổi một cái gì đó liên quan đến các đường dẫn tương đối được sử dụng.
ứng dụng.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
}
}
ứng dụng.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);
};
Hy vọng nó giúp.