Skip to content

Qt Development

Everything development. From desktop and mobile to cloud. Games, tools, 3rd party libraries. Everything.
144.5k Topics 723.9k Posts
Qt 6.11 is out! See what's new in the release blog

Subcategories


  • This is where all the desktop OS and general Qt questions belong.
    84k 460k
    84k Topics
    460k Posts
    L
    Monitoring the print spooler or extracting metadata from a document requires tapping into OS-specific APIs. For platform-independent or desktop applications dealing with document output—like managing page yields before generating PDFs or print layouts—developers often handle page calculation programmatically. When generating physical or digital copies via platforms like https://www.selfpublishing.ie/, accurate page count tracking within your system is crucial to managing layouts, costs, and final export configurations seamlessly before sending the document to production.
  • Looking for The Bling Thing(tm)? Post here!
    20k 78k
    20k Topics
    78k Posts
    4
    Hi all, I'm playing with the Wander affector in QtQuick.Particles and I'm stuck on something weird. My setup: a simple rocket emitter shooting particles straight up from the bottom of the window. I added a Wander on the rocket group to make them drift left and right a bit, like they're wobbling in the wind. I also added a TrailEmitter so I can see the actual path each particle takes. Here's the code. import QtQuick 2.5 import QtQuick.Particles 2.0 Window { width: 640 height: 480 visible: true title: qsTr("Rocket Wander Test") Rectangle { id: root width: parent.width height: parent.height color: "#1F1F1F" ParticleSystem { id: particleSystem } ImageParticle { id: trailPainter system: particleSystem groups: ['trail'] source: "assets/particle.png" color: "cyan" alpha: 0.6 } ImageParticle { id: rocketPainter system: particleSystem groups: ['rocket'] source: "assets/rocket.png" entryEffect: ImageParticle.Fade } Emitter { id: rocketEmitter anchors.bottom: parent.bottom width: parent.width; height: 40 system: particleSystem group: 'rocket' emitRate: 2 maximumEmitted: 4 lifeSpan: 5200 lifeSpanVariation: 400 size: 64 velocity: AngleDirection { angle: 270; magnitude: 150; magnitudeVariation: 10 } } TrailEmitter { id: pathTrail system: particleSystem group: 'trail' follow: 'rocket' emitRatePerParticle: 30 lifeSpan: 6000 size: 6 sizeVariation: 1 velocity: PointDirection { x: 0; y: 0 } } Wander { groups: ['rocket'] anchors.fill: parent system: particleSystem affectedParameter: Wander.Position pace: 150 xVariance: 1200 yVariance: 0 } } } I expected that, every rocket wiggles left and right by some amount, and turning xVariance up makes the wiggle wider. But instead this is what I'm seeing: Some rockets wiggle, some come out as a perfectly straight line, even though they all go through the same Wander block. I attached a screenshot showing this (some straight trails, some wavy trails, side by side). I ran the same test four times, only changing xVariance each time (500, then 700, then 900, then 1200). The wiggle width looked exactly the same every single time. Changing xVariance did not seem to make the wiggle any wider or narrower. The only thing that changing xVariance from 500 to 700 to 900 to 1200 affected was how much of the x axis range it covered, not the wiggle amplitude itself. I tried making the Wander region smaller and moving it (using anchors.horizontalCenter and a fixed width instead of anchors.fill: parent). With this setup, nothing wiggled at all, no matter what I set xVariance to (I tried 30 and 500, both flat lines). I also attached a screenshot of this test. So right now it looks like, xVariance does not seem to control how wide the wiggle is. Whether a rocket wiggles at all seems to depend on something else, maybe where it spawns, or where the Wander box sits on screen, but I have not been able to pin down what exactly. Has anyone run into this before? Is there something about how Wander picks which particles to affect, or how xVariance is supposed to work, that I am missing? Any pointers to the actual source or a working example would help a lot. Thanks in advance. [image: c91b5c4a-7b0b-44a5-82e1-64755c8bbe02.png] [image: f1192074-0ec5-473c-bd0e-e2d425311f17.png] [image: 4107f786-a8c9-4b79-afe1-96668e6cde59.png] [image: ca6a7dd8-548b-4845-a040-ceda9d398386.png]
  • The forum for developing everything embedded: Linux, WinCE, Symbian, MeeGo... you name it.
    14k 63k
    14k Topics
    63k Posts
    M
    I don't know about this, but I'd give the app manually permission for all files, and see what happens. I remember there being various issues with QUrl, but don't remember details. And, of course, something not working in Android, and even the supposedly evolved and mature Qt 6x in Android, is no surprise...
  • This is a discussion space for

    • for audio / video playback and recording
    • media formats and codecs
    • camera and screen sharing functionality
    51 222
    51 Topics
    222 Posts
    V
    I have been having this same issue with my Bluetooth headset not being detected
  • Have a question about Qt Creator, our cross-platform IDE, or any of the other tools? Ask here!
    8k 36k
    8k Topics
    36k Posts
    B
    @SGaist It's set to 4 (-j4), but setting it to 1 doesn't help.
  • Your Qt just doesn't want to build? Your compiler can't find the libs? Here's where you find comfort and understanding. And help.
    10k 52k
    10k Topics
    52k Posts
    SGaistS
    Then I would check the cmake bug tracker to see if there's something related there.
  • What can we say - we like games. And you can use Qt to write some. Questions? Ask here.
    875 4k
    875 Topics
    4k Posts
    W
    @JorgeT said in [QT Quick 3D] QRchi shaders and QQuick3DRenderExtension: Hi everyone. I'm trying to create a render extension node for View3d, but i cannot find any useful documentation. I saw the OutlineRender example in the QQuick3D examples, but it doesn't use any shaders at all: https://doc.qt.io/qt-6/qtquick3d-extensions-stenciloutline-example[.].html Later, i found this QRhi example on the Qt documentation, but i couldn't get it to work and it doesn't use QQuick3DRenderExtension https://doc.qt.io/qt-6/qrhi.html What I’m trying to do is apply a shader as a post-process to the View3D framebuffer using the extension property list. Could anyone either explain the QRhi example or provide a commented example that goes through each step? I have experience with OpenGL, but I just can’t get this to work. Thanks!!
  • Discussions and questions on QtWebEngine
    1k 4k
    1k Topics
    4k Posts
    T
    @SGaist the cross compilation of the libraries fixed the prob
  • You're using Qt with other languages than C++, eh? Post here!
    870 3k
    870 Topics
    3k Posts
    PedromixP
    New version QtJambi 6.11.1 is available now 🎉. For all who want to create smart UIs🚀 in Java or Kotlin based upon the latest Qt release. https://www.qtjambi.io/ [image: 95a6c11a-f7b2-4a9c-8325-ccfc9c93b3ec.png]
  • For discussion and questions about Qt for Python (PySide & Shiboken)

    3k 15k
    3k Topics
    15k Posts
    C
    problem solved. thank you AI. OK, digging into the vibe debugging, this seemed pretty good. I was going to summarize it, but the AI generated description seems pretty legit, so here is what it did: Getting pyuscope's GUI running on the labsmore scope host (jaguar) Host: videoteam@ps1.fpgas.online:4031 (hostname jaguar, Debian 13, Python 3.13) pyuscope: ~/pyuscope, run as ./app/argus.py inside venv ~/venv/labsmore Scope: lip-vm1 — a Hayear HY-800B v4l2 camera (on /dev/video4) + GRBL motion Date: 2026-06-15 Carl's GUI wouldn't start. There turned out to be three separate problems, one stacked behind the other. All three are now fixed and the GUI runs. Problem 1 — Qt "xcb" plugin crash (the one Carl reported) Symptom qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in ".../cv2/qt/plugins" even though it was found. Cause (plain English) pyuscope draws its window with Qt (PyQt5). The venv also had the deluxe opencv-python, which secretly ships its own private copy of Qt. The moment pyuscope does import cv2, opencv quietly repoints an environment variable (QT_QPA_PLATFORM_PLUGIN_PATH) at its own Qt plugins. Now two different copies of Qt fight inside one process: Qt finds an xcb plugin file (so it isn't "missing") but it's the wrong, mismatched one — "found" but "could not load". Proven: QT_QPA_PLATFORM_PLUGIN_PATH is empty before import cv2 and becomes .../cv2/qt/plugins immediately after. Fix — use the headless opencv build (same API, no bundled Qt). pyuscope uses no opencv GUI functions, so nothing is lost: ~/venv/labsmore/bin/pip uninstall -y opencv-python ~/venv/labsmore/bin/pip install opencv-python-headless==4.13.0.92 Problem 2 — GStreamer "could not link" crash (GST_IS_CAPS null) Symptom (after Problem 1 was fixed) gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed ... assert self.raw_element.link(element) AssertionError (gstwidget.py:530) Cause This host has a newer PyGObject (3.56) in which the old shortcut of passing a string straight into the Gst.Caps() constructor was removed — it now raises SystemError / silently ignores the string, producing an empty/invalid caps. pyuscope built its video pipeline's capsfilter with Gst.Caps("video/x-raw,..."), so every microscope config got a null caps and the pipeline wouldn't link. Fix — use the supported API, Gst.Caps.from_string(...), at the 3 call sites (uscope/gui/gstwidget.py ×2, uscope/imager/gst.py ×1). Applied in-place; see git diff in ~/pyuscope. (Worth upstreaming to Labsmore.) Problem 3 — the real root cause: the venv couldn't see GStreamer's Python support Symptom (after Problem 2 was fixed) gst_base_sink_init: assertion 'pad_template != NULL' failed ... assert queue.link(dst) AssertionError (gstwidget.py:634) Cause pyuscope's frame-grabber (CaptureSink in uscope/gst_util.py) is a GStreamer element written in Python. The machinery that turns its __gsttemplates__ / __gstmetadata__ declarations into a real element (with a "sink" pad) lives in the gst-python overrides — Debian's python3-gst-1.0 package, not in pip's PyGObject. The venv was created with python3 -m venv (so include-system-site-packages = false) and had a pip-installed PyGObject. That pip PyGObject has no gst-python overrides, so the sink never got a pad and the pipeline couldn't link. This same missing-overrides problem is also what broke Gst.Caps("string") in Problem 2 — one root cause, two symptoms. Proven: with the venv's own python but the system overrides on PYTHONPATH, the sink registers correctly; without them, it doesn't. Fix — let the venv use the apt-installed python3-gi + python3-gst-1.0 (matched to GStreamer 1.26.2): # 1) allow the venv to fall back to system packages # edit ~/venv/labsmore/pyvenv.cfg: include-system-site-packages = true # 2) remove the override-less pip PyGObject so the system one is used ~/venv/labsmore/bin/pip uninstall -y PyGObject (The venv's own pip packages — PyQt5, numpy, opencv-headless — still take precedence; only gi/Gst now come from the system, which is how GStreamer Python apps are meant to run on Debian.) Result — the GUI runs --microscope mock (test pattern): full GUI comes up with live video — see argus_mock_screenshot.png. --microscope lip-vm1 (the real scope): launches cleanly with zero console errors, connects to the HY-800B camera (/dev/video4) and the GRBL motion controller, and reaches pyuscope's normal "System is not homed" dialog. A direct GStreamer grab from /dev/video4 produces valid frames (dark only because the scope light was off / no sample) — scope_camera_frame.jpg. How Carl launches it ssh -p 4031 videoteam@ps1.fpgas.online tmux a # tmux already has DISPLAY=:0 cd ~/pyuscope . ~/venv/labsmore/bin/activate ./app/argus.py --microscope lip-vm1 Then click OK on the "System is not homed" dialog once the stage is clear (this homes the CNC — it physically moves the stage), or Cancel to use the GUI without homing. Durability of the fixes opencv: nothing depends on opencv-python; setup.py has install_requires=[] and setup_ubuntu_20.04.sh only installs apt python3-opencv (--user), so the headless swap won't be undone in the venv. venv config: a backup of the original was saved as ~/venv/labsmore/pyvenv.cfg.bak-claude. source patch: the Gst.Caps.from_string change lives in the ~/pyuscope git checkout (visible in git diff) — review and upstream when convenient.
  • Specific issues when using Qt for WebAssembly

    465 2k
    465 Topics
    2k Posts
    Joe von HabsburgJ
    You can try this : QNetworkAccessManager _manager; _manager.setAutoDeleteReplies(true);
  • Discussions and questions about Qt Quick Ultralite and using Qt on microcontrollers in general

    156 476
    156 Topics
    476 Posts
    G
    I am working on a Qt for MCUs application and currently using OTF font files with the Static font engine. The font quality is good with OTF, but internal flash usage becomes very high. When I use FMP fonts, flash usage is low, but some glyphs do not render properly. Any guidance on the correct approach to move OTF font storage to external memory would be very helpful. Thank you.
  • Combining Qt with 3rd party libraries or components? Ask here!
    1k 6k
    1k Topics
    6k Posts
    C
    @SGaist Thank you! Sadly I don't know anything about reverse engineering the protocol. I'm just a diecut designer for scrapbooking. I've tried the alternative softwares and they're missing things that I'm used to designing with. This is such a great machine and I didn't want to have to buy a Cricut or Silhouette. I was just hoping to find some sort of patch for this software so that it would stop giving me the check usb connection error code. Thank you for your time!!
  • The forum for discussing the Qt Digital Advertising Platform

    16 41
    16 Topics
    41 Posts
    E
    @nayka Can I use QtDigitalAdvertising on PC applications? Or is it only allowed for use on Android or iOS mobile devices?
  • For discussion and questions about Qt Insight

    11 20
    11 Topics
    20 Posts
    jsulmJ
    @Alejandro_qt_ Here is an example how to build qtbase module: https://stackoverflow.com/questions/50022325/building-qt-module-from-source