Trending

#QML

Latest posts tagged with #QML on Bluesky

Latest Top
Trending

Posts tagged #QML

Preview
What Makes Quantum Machine Learning “Quantum”? The quantum leap in machine learning The difference between quantum and classical machine learning might seem subtle, but it's actually

What Makes Quantum Machine Learning “Quantum”? The quantum leap in machine learning The difference between quantum and classical machine learning might.... @cosmicmeta.ai #QML

https://u2m.io/K4kQUul1

1 1 0 0
Post image

New Publication: Quantum Machine Learning and Data Re-Uploading: Evaluation on Benchmark and Laboratory Medicine Data Sets 🚀

🔗https://pubmed.ncbi.nlm.nih.gov/41728802/

#ArtificialIntelligence #BiomedicalInformatics #MedSky #AISky #MedAI #QML #AIML #QuantumMachineLearning

1 0 0 0
Post image

What did KDAB work on in February? As Embedded World 2026 approaches, this newsletter edition highlights #embedded-focused insights like GUI automation with Spix, Windows CE to #EmbeddedLinux migration, the Oxidize 2026 CfP, and more: www.kdab.com/newsletter/f... #QtDev #QML #RustLang

1 0 0 0
February 2026 Newsletter Podcast
February 2026 Newsletter Podcast February 2026 Newsletter: Spix GUI Automation, Windows CE Migration Whitepaper, Oxidize 2026 CfP, Embedded World 2026, Meeting C++, QML Videos, Training & Ev...

As we approach Embedded World 2026, this audio version of the February 2026 newsletter brings you insights and practical tools for embedded software development. Listen in: www.youtube.com/watch?v=J-rD... #QtDev #Embedded #RustLang #QML #Migration #WindowsCE #Cpp

0 0 0 0
Preview
Automating Repetitive GUI Interactions in Embedded Development with Spix # Automating Repetitive GUI Interactions in Embedded Development with Spix As Embedded Software Developers, we all know the pain: you make a code change, rebuild your project, restart the application - and then spend precious seconds repeating the same five clicks just to reach the screen you want to test. Add a login dialog on top of it, and suddenly those seconds turn into minutes. Multiply that by a hundred iterations per day, and it’s clear: this workflow is frustrating, error-prone, and a waste of valuable development time. In this article, we’ll look at how to automate these repetitive steps using Spix, an open-source tool for GUI automation in Qt/QML applications. We’ll cover setup, usage scenarios, and how Spix can be integrated into your workflow to save hours of clicking, typing, and waiting. ## The Problem: Click Fatigue in GUI Testing Imagine this: * You start your application. * The login screen appears. * You enter your username and password. * You click "Login". * Only then do you finally reach the UI where you can verify whether your code changes worked. This is fine the first few times - but if you’re doing it 100+ times a day, it becomes a serious bottleneck. While features like **hot reload** can help in some cases, they aren’t always applicable - especially when structural changes are involved or when you must work with "real" production data. So, what’s the alternative? ## The Solution: Automating GUI Input with Spix Spix allows you to control your Qt/QML applications programmatically. Using scripts (typically Python), you can automatically: * Insert text into input fields * Click buttons * Wait for UI elements to appear * Take and compare screenshots This means you can automate login steps, set up UI states consistently, and even extend your CI pipeline with **visual testing**. Unlike manual hot reload tweaks or hardcoding start screens, Spix provides an **external, scriptable solution** without altering your application logic. ## Setting up Spix in Your Project Getting Spix integrated requires a few straightforward steps: ### 1. **Add Spix as a dependency** * Typically done via a Git submodule into your project’s third-party folder. git subrepo add 3rdparty/spix git@github.com:faaxm/spix.git ### 2.**Register Spix in CMake** * Update your `CMakeLists.txt` with a `find_package(Spix REQUIRED)` call. * Because of CMake quirks, you may also need to manually specify the path to Spix’s CMake modules. LIST(APPEND CMAKE_MODULE_PATH /home/christoph/KDAB/spix/cmake/modules) find_package(Spix REQUIRED) ### 3.**Link against Spix** * Add `Spix` to your `target_link_libraries` call. target_link_libraries(myApp PRIVATE Qt6::Core Qt6::Quick Qt6::SerialPort Spix::Spix ) ### 4.**Initialize Spix in your application** * Include Spix headers in `main.cpp`. * Add some lines of boilerplate code: * Include the 2 Spix Headers (AnyRPCServer for Communication and QtQmlBot) * Start the Spix RPC server. * Create a `Spix::QtQmlBot`. * Run the test server on a specified port (e.g. `9000`). #include <Spix/AnyRpcServer.h> #include <Spix/QtQmlBot.h> [...] //Start the actual Runner/Server spix::AnyRpcServer server; auto bot = new spix::QtQmlBot(); bot->runTestServer(server); At this point, your application is "Spix-enabled". You can verify this by checking for the open port (e.g. `localhost:9000`). ## Spix can be a Security Risk: Make sure to not expose Spix in any production environment, maybe only enable it for your Debug-builds. ## Where Spix Shines Once the setup is done, Spix can be used to automate repetitive tasks. Let’s look at two particularly useful examples: ### 1. Automating Logins with a Python Script Instead of typing your credentials and clicking "Login" manually, you can write a simple Python script that: * Connects to the Spix server on `localhost:9000` * Inputs text into the `userField` and `passwordField` * Clicks the "Login" button (Items marked with "Quotes" are literal That-Specific-Text-Identifiers for Spix) import xmlrpc.client session = xmlrpc.client.ServerProxy('http://localhost:9000') session.inputText('mainWindow/userField', 'christoph') session.inputText('mainWindow/passwordField', 'secret') session.mouseClick('mainWindow/"Login"') When executed, this script takes care of the entire login flow - no typing, no clicking, no wasted time. Better yet, you can check the script into your repository, so your whole team can reuse it. For Development, Integration in Qt-Creator can be achieved with a Custom startup executable, that also starts this python script. ## In a CI environment, this approach is particularly powerful, since you can ensure every test run starts from a clean state without relying on manual navigation. ### 2. Screenshot Comparison Beyond input automation, Spix also supports **taking screenshots**. Combined with Python libraries like OpenCV or `scikit-image`, this opens up interesting possibilities for testing. #### Example 1: Full-screen comparison Take a screenshot of the main window and store it first: import xmlrpc.client session = xmlrpc.client.ServerProxy('http://localhost:9000') [...] session.takeScreenshot('mainWindow', '/tmp/screenshot.png')k Now we can compare it with a reference image: from skimage import io from skimage.metrics import structural_similarity as ssim screenshot1 = io.imread('/tmp/reference.png', as_gray=True) screenshot2 = io.imread('/tmp/screenshot.png', as_gray=True) ssim_index = ssim(screenshot1, screenshot2, data_range=screenshot1.max() - screenshot1.min()) threshold = 0.95 if ssim_index == 1.0: print("The screenshots are a perfect match") elif ssim_index >= threshold: print("The screenshots are similar, similarity: " + str(ssim_index * 100) + "%") else: print("The screenshots are not similar at all, similarity: " + str(ssim_index * 100) + "%") This is useful for catching unexpected regressions in visual layout. #### Example 2: Finding differences in the same UI Use OpenCV to highlight pixel-level differences between two screenshots—for instance, missing or misaligned elements: import cv2 image1 = cv2.imread('/tmp/reference.png') image2 = cv2.imread('/tmp/screenshot.png') diff = cv2.absdiff(image1, image2) # Convert the difference image to grayscale gray = cv2.cvtColor(diff, cv2.COLOR_BGR2GRAY) # Threshold the grayscale image to get a binary image _, thresh = cv2.threshold(gray, 30, 255, cv2.THRESH_BINARY) contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cv2.drawContours(image1, contours, -1, (0, 0, 255), 2) cv2.imshow('Difference Image', image1) cv2.waitKey(0) This form of **visual regression testing** can be integrated into your CI system. If the UI changes unintentionally, Spix can detect it and trigger an alert. Defective Image The script marked the defective parts of the image compared to the should-be image. ## Recap Spix is not a full-blown GUI testing framework like Squish, but it fills a useful niche for embedded developers who want to: * Save time on repetitive input (like logins). * Share reproducible setup scripts with colleagues. * Perform lightweight visual regression testing in CI. * Interact with their applications on embedded devices remotely. While there are limitations (e.g. manual wait times, lack of deep synchronization with UI states), Spix provides a powerful and flexible way to automate everyday development tasks - without having to alter your application logic. If you’re tired of clicking the same buttons all day, give Spix a try. It might just save you hours of time and frustration in your embedded development workflow. The post Automating Repetitive GUI Interactions in Embedded Development with Spix appeared first on KDAB.

Automating Repetitive #GUI Interactions in Embedded Development with #Spix
#qt #qml
www.kdab.com/automating-repetitive-gu...

0 0 0 0
Post image

Here’s an overview of upcoming training sessions. Strengthen your C++ and QML expertise or deepen your debugging skills with KDAB’s in-person courses in Berlin. Find more courses and details here: training.kdab.com/scheduled-tr... #QtDev #Cpp #QML #Debugging #CPlusPlus

0 0 0 0
Post image

Automate repetitive #GUI tasks in Qt/QML applications like sending clicks, entering text, property checks, and even visual testing via screenshots with Spix - a small but useful library. Read the full blog here: www.kdab.com/automating-r...
#QtDev #QML #GUIAutomation #Embedded

0 0 0 0

I just misunderstood someone, thinking they said "Parametrized Quantum Circus", and tbh I find it quite relatable #QML 🎪🤡 New goal: become known as a quantum clown.

0 0 0 0
Preview
Introduction to Qt / QML - all videos Welcome to our "Introduction to Qt / QML" series! This comprehensive video tutorial will teach you the foundations of programming with Qt / QML. It is an ext...

Is learning Qt/QML on your 2026 to-do list?

This “Introduction to Qt / QML” video series helps you build a solid foundation for programming with Qt - clear explanations, practical examples, and easy-to-follow lessons: www.youtube.com/playlist?lis...

#QML #QtDev #SoftwareDevelopment

1 0 0 0
Modernizing QML Code Using qmllint
Modernizing QML Code Using qmllint In this video, Nicolas Fella shares practical tips for writing cleaner, safer, and more performant QML code using qmllint.QML’s flexibility makes it powerful...

QML’s flexibility makes it powerful but can also lead to code that works while being hard to read, or inefficient. Using a small example application, the video walks you through common #QML anti-patterns and shows how qmllint helps catch them early: www.youtube.com/watch?v=9D5G... #Performance #Code

0 0 0 0
January 2026 Newsletter Podcast
January 2026 Newsletter Podcast January 2026 Newsletter: KDAB Training Day, Meeting C++ 2025 Videos, KDSoap Video series, 2026 Training, News, Events & MoreHappy New Year and welcome to the...

What happened at KDAB in January 2026? Listen in to the audio version of the January newsletter edition: www.youtube.com/watch?v=6mEv... #QtDev #RustLang #QML #Cpp #Training

1 0 0 0
How to Use CMake in Qt 6 to Connect C++ and QML
How to Use CMake in Qt 6 to Connect C++ and QML In this video, Jan Marker shows how to set up a C++/QML project in Qt 6 using CMake and macro-based QML element registration, and compares the setup to how t...

Jan Marker (KDAB) shows in this video how to set up a C++/QML project in Qt 6 using CMake and macro-based QML element registration, and compares the setup to how the same was done in Qt 5: www.youtube.com/watch?v=eJC8... #QtDev #Cpp #CPlusPlus #QML #Qt6 #CMake

0 0 0 0
Post image

Another change is coming to Nitrux 6.0: we'll use our own login greeter, QMLGreet (very much a W.I.P, mind you).

The reason is that customizing QtGreet proved to be a bad endeavour, and there are no QML greeters for greetd.

See: github.com/orgs/Nitrux/...

#Nitrux #QML #Updates

0 0 0 0
Preview
Quickshell – Un toolkit QML pour personnaliser de votre bureau Linux Si vous faites partie de ces gens qui passent plus de temps à configurer leur barre de tâches qu'à réellement bosser sur leur PC, j'ai déniché un truc qui va vous plaire (ou vous faire perdre encore plus d'heures de sommeil, au choix). Dites bonjour à Quickshell !! Car on a tous voulu avoir un jour une barre de statut un peu sexy sous Linux et finalement se retrouver à se farcir des fichiers de config imbuvables ou des centaines de lignes de CSS hacky pour simplement changer une malheureuse icône. C’est souvent frustrant, sans parler du temps perdu, et on finit par garder le truc par défaut par pure flemme. Mais avec Quickshell, un nouveau monde devient possible !
0 1 0 0
Preview
In-Company Training | KDAB Improve the programming skills of your developer team at your preferred location with a custom-tailored training course. In-company training offers a lower cost-per-student as it eliminates travel cost and reduces time away from the office.

Are you looking for training tailored to your needs? Our in-company #training courses are crafted to address your requirements. You dictate the agenda, schedule, as well as venue and choose among topics such as #QtDev, #Cpp, #QML, #3D, #Debugging, and more: training.kdab.com/in-company-t...

0 0 0 0
Preview
KDAB Newsletter: Your Portal to the Latest in Qt, C++, Rust and 3D Visualization! | KDAB Stay ahead of the curve with the latest insights and innovations from KDAB! Our monthly newsletter is packed with fresh updates from our blogs, covering cutting-edge developments in Qt, C++, Rust and 3D visualization. Don't miss out on event announcements and new training courses. Plus, get a sneak peek at our latest projects and tooling updates. Subscribe now to stay informed and inspired with KDAB!

Sign up to the monthly KDAB Newsletter to stay on top of the latest news, publications, events and more around Qt, C++, Rust and other related fields KDAB is working in: www.kdab.com/newsletter/ #QtDev #Cpp #RustLang #Embedded #CPlusPlus #Linux #QML

0 0 0 0
Original post on social.vivaldi.net

RE: https://social.vivaldi.net/@wojtek/115742337617314961

Hmmm…

https://www.qt.io/qt-bridges

www.qt.io/blog/qt-bridges-moderniz...

" #Qt Bridges is a future technology in the making. It will enable #QML and Qt Quick to be used as the front-end with […]

0 1 0 0
Preview
QML Tips and Tricks This playlist contains selected videos from the 'Qt Widgets and more series' that are particularly useful for QML development. They aim to improve your produ...

Explore this curated 'QML Tips and Tricks' playlist, featuring selected videos from the 'Qt Widgets and more' series. These videos focus on practical techniques to improve productivity and streamline QML development.
Watch the playlist: www.youtube.com/playlist?lis... #QtDev #QML #Programming

1 0 0 0
Post image

In 2026, KDAB offers focused training sessions covering among other topics advanced #QML, modern #Cpp techniques, and #debugging and profiling Qt applications on #Linux.

Further sessions are listed in the full 2026 training schedule: training.kdab.com/scheduled-tr... #QtDev

0 0 0 0
December 2025 Newsletter: MSVC Static Initialization Debugging, Klaus Iglberger Interview, and more
December 2025 Newsletter: MSVC Static Initialization Debugging, Klaus Iglberger Interview, and more December 2025 Newsletter: MSVC Static Initialization Debugging, Klaus Iglberger Interview, Qt Widgets and More, 2026 Training, New Courses, Events & More Season’s greetings and welcome to the December 2025 edition! This month, KDAB brings you a mix of in-depth technical insights, practical guidance, and fresh learning resources across C++, Qt, and Rust. Jonatan Wallmander kicks things off with a deep dive into debugging static initialization order in MSVC, helping you understand and resolve crashes caused by pre-main() static constructors. KDAB also highlights the updated 2026 scheduled training courses, covering Qt, C++, QML, embedded development, and Rust in collaboration with Ferrous Systems, alongside new software engineering courses on Git and Test-Driven Development in partnership with enioka Haute Couture. As always, explore the latest video releases, including the interview with Klaus Iglberger on safer C++ practices, the return of Jesper Pedersen’s “Qt Widgets and more” series, and the November newsletter being available...

Happy New Year from KDAB! A fitting way to wrap up 2025: the December 2025 newsletter video - now also available to listen to, covering key technical updates and highlights.

Watch or listen here: www.youtube.com/watch?v=6R_q... #QtDev #QML #RustLang #Cpp

0 0 0 0
Post image

Last manuscript submission of 2025 🎉
First real stress test of hybrid #quantum #machine #learning on messy #biological #data.
Some things broke. Some held. That’s the point.
Closing 2025 strong 💥
#QML #HybridAI #QuantumComputing #LabLife #DefinitelyNotWorkingDuringHolidays

3 0 0 0
Preview
Prospects for quantum advantage in machine learning from the representability of functions Demonstrating quantum advantage in machine learning tasks requires navigating a complex landscape of proposed models and algorithms. To bring clarity to this search, we introduce a framework that conn...

Very happy about our new pre-print!
Here, we share how we think about potential quadvantage in #QML, from the point of view of the function families that arise from usual Parametrized Quantum Circuits.
Please do let us know what you think about our perspective :)
scirate.com/arxiv/2512.1...

10 1 1 0
Video

What happens if you lose power while in the middle of overriding an important setting file? Or how about if the hard disk runs full? Watch this episode to guard yourself against that: www.youtube.com/watch?v=vPrR... #QtDev #QML

0 0 0 0

Why is it so hard (maybe even impossible?) to upload a file using just QML? 😭 #QML

0 0 0 0
Post image

Given that:

- Plasma Firewall practically requires Systemd; see: github.com/Nitrux/nitru...
- GUFW fails on Wayland,
- And, firewall-config is far too complex.

We just made our own.

Meet Cinderward [WIP], a GUI for firewalld. Built with @maui_project

#Nitrux #Firewall #QML

0 0 1 0
Post image

Strengthen your development skills in 2026 with upcoming KDAB training sessions. Whether you want to expand your #QML knowledge, refine your C++ skills, or improve how you analyze applications on #Linux, gain practical guidance here: training.kdab.com/scheduled-tr... #QtDev #Cpp #Debugging

0 0 0 0
Post image

November at KDAB: explore static assertions in Rust, catch up on the the Qt World Summit keynote, and watch KDAB's new showcase video with Siemens Energy. Plus: Qt Widgets Part 9, new Curious Developer videos, and more:
www.kdab.com/newsletter/n...
#QtDev #Cpp #RustLang #QML

0 0 0 0
Preview
Scheduled Training Courses | KDAB KDAB's scheduled training courses offer participants course material that can be dynamically adapted on the day by our skilled trainers, with presentation and labs interspersed for maximum learning integration.

The 2026 KDAB training schedule is now available: training.kdab.com/scheduled-tr...
From #QtDev and #QML to #CPlusPlus, #RustLang and #Embedded, explore the lineup and level up your development skills with KDAB's expert-led courses in 2026.

0 0 0 0
Post image

You've been waiting for it, we've been waiting for it, and now ... Unmatched TMNT by @restorationgames.bsky.social has started fulfillment! 🍕🎉
#tmnt #QML #shipping

2 0 0 0
Preview
In-Company Training | KDAB Improve the programming skills of your developer team at your preferred location with a custom-tailored training course. In-company training offers a lower cost-per-student as it eliminates travel cost and reduces time away from the office.

Are you looking for training tailored to your needs? Our in-company #training courses are crafted to address your requirements. You dictate the agenda, schedule, & venue and choose among topics such as #QtDev, #Cpp, #QML, #3D, & #Debugging. More on

0 0 0 0