Я не уверен, что вы имеете в виду под «гибридным» (приложение C ++, которое отображает веб-приложение? Распространять код приложения между C ++ / QML / javascript?), Но вы можете использовать компонент WebView для отображения веб-страницы / веб-приложения в приложении qml , Это должно работать и на Ubuntu Phone.
Возьмем это простое приложение, составленное из: «app.qml», «app.html» и «app.js» (да, я знаю, это «приложение» довольно слабое ...). Это было проверено только с помощью qmlviewer
, поэтому, если вы попытаетесь запустить его через IDE, вам, вероятно, придется что-то изменить в зависимости от используемых относительных путей.
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);
};
Надеюсь, поможет.