# qmlweb **Repository Path**: mechanism/qmlweb ## Basic Information - **Project Name**: qmlweb - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-10 - **Last Updated**: 2024-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JavaScript powered QML Engine [](https://gitter.im/qmlweb/qmlweb) [](https://travis-ci.org/qmlweb/qmlweb) [](https://codecov.io/gh/qmlweb/qmlweb) [](https://www.npmjs.com/package/qmlweb) [](http://bower.io/search/?q=qmlweb) [](https://github.com/qmlweb/qmlweb/releases) This project aims at bringing the power of QML to the web browser. Here's a sample of how QML looks like: ```QML import QtQuick 2.0 Rectangle { width: 500; height: 200 color: "lightgray" Text { id: helloText text: "Hello world!" anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter font.pointSize: 24; font.bold: true } } ``` ## How to use ### Add the library to your web page Using one of the methods below, install the qmlweb JavaScript library: * [npm](https://www.npmjs.com/package/qmlweb) — `npm install qmlweb` * GitHub [releases](https://github.com/qmlweb/qmlweb/releases) — `tar -xaf v0.2.0.tar.gz` * Manually (recommended if you cloned from git) — `npm install && npm run build` Next, simply add `lib/qmlweb.js` to the list of other JavaScript files in your app's HTML file: ```HTML ``` See the [examples](examples) directory for more details and complete usage examples. ### Testing from a local folder Note that due to security restrictions (which are there to protect you!) browsers do not allow loading arbitrary local files, which includes `*.qml`. Because of that, to test the goodness of QmlWeb on your own machine, you have to spin up a local http server, e.g. by running `npx http-server`. Or try out [qmlweb-viewer](https://github.com/qmlweb/qmlweb-viewer). ### API You can use DOM elements as the base for QML components: ```js var div = document.getElementById('embed'); // this is your DOM element var engine = new QmlWeb.QMLEngine(div); engine.loadFile('qml/main.qml'); engine.start(); ``` See also [`engine.loadQML`](docs/QMLEngine.md#engineloadqmlsrc-parentcomponent--file-) for constructing a QML element from a source string. ### Auto-load You can modify the `
` element to specify what QML file to load when the page is opened. The loaded QML element will fill the whole page. ```HTML