From 6b880680bd2a140946ae9f62c30a04bb7d3203ef Mon Sep 17 00:00:00 2001 From: Thomas Vanbesien Date: Thu, 26 Feb 2026 15:25:36 +0100 Subject: Add README.md --- README.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..d5d66e0 --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +# BobinkQtOpcUaAppTemplate + +App template for [BobinkQtOpcUa](deps/BobinkQtOpcUa/README.md) — a QML library that wraps Qt OPC UA into simple, declarative components. + +## Prerequisites + +- CMake >= 3.16, Ninja +- Qt 6.10.2+ (with `qt-cmake` in PATH) +- OpenSSL development headers + +## Build + +```bash +git clone --recurse-submodules https://github.com/Bobink-UTT/BobinkQtOpcUaAppTemplate.git +cd BobinkQtOpcUaAppTemplate + +qt-cmake -S . -B build -G Ninja +qt-cmake --build build --parallel +``` + +The first configure automatically builds the bundled dependencies (open62541 and QtOpcUa) from git submodules. Subsequent builds skip this step. + +### Run + +```bash +./build/bin/BobinkQtOpcUaAppTemplate +``` + +## Usage + +Edit `Main.qml` to build your app. The `Bobink` QML module is already available: + +```qml +import Bobink + +ApplicationWindow { + // Connect, monitor nodes, write values — see the API docs below. +} +``` + +For the full API (connections, authentication, node monitoring, writing, discovery, PKI), see the [BobinkQtOpcUa README](deps/BobinkQtOpcUa/README.md). A complete working example lives in `deps/BobinkQtOpcUa/demo/`. + +## Editor setup + +The build generates `.qmlls.ini` files so the QML Language Server can resolve all imports (Qt and Bobink) out of the box. + +**Neovim** — works automatically if your LSP config picks up qmlls. + +**Qt Creator** — enable the language server under Edit > Preferences > Language Client > QML Language Server. + +## Project structure + +``` +CMakeLists.txt Build configuration +main.cpp Entry point (plugin path, logging) +Main.qml Your app — edit this +deps/ + BobinkQtOpcUa/ Library submodule (builds open62541 + QtOpcUa) +``` -- cgit v1.2.3