Skip to main content The cutest cross-platform application framework
r/QtFramework icon

r/QtFramework

11K members
10 online

QAwesomeIcon: A Qt library for real-time animated taskbar icons to enhance user experience. QAwesomeIcon: A Qt library for real-time animated taskbar icons to enhance user experience.
Show off

QAwesomeIcon is a groundbreaking Qt library designed to revolutionize software interfaces through real-time animated icons. it represents a creative paradigm shift, unlocking thousands of innovative possibilities to enrich the user experience and interaction with software. With support for multiple animation formats such as GIF, sprite sheets, QAwesomeIcon provides an intuitive API for creating dynamic window icons and taskbar icons that bring applications to life.

Creative Use Cases: The Future of Software Interfaces

Here are just a few of the thousands of creative ways to utilize QAwesomeIcon:

Error States & Feedback - Make Problems Beautiful

Error.gif Even errors can be engaging! Perfect for dialogs, warnings, and critical alerts and can be seen even if the app is minimized

Loading States - Beyond Boring Loaders

Transform your application's loading experience with animated icons that provide clear visual feedback on the taskbar. Users can monitor progress without needing to switch to the application window.

gear.gif Perfect for settings, configuration, or system operations

LoadingCircle.gif Classic spinning loader

Examples of Use:

  • Application startup progress

  • File processing

  • Network requests

  • Data synchronization

  • Background tasks

Messaging & Communication - Creative Chat Interfaces

Animate messaging applications to show typing indicators, message sending status, and more. A key innovation is the ability to display the avatar of the current chat partner on the taskbar, with the avatar animating when they are typing.

PointsLoading.gif - Use this as a "typing indicator"

Texting.gif Perfect for messaging apps and chat applications

SendingMessage.gif Ideal for email clients and instant messaging

Possible Revolutionary Communication Features:

  • Typing indicators

  • Message sending and delivery status

  • Animated notification badges

  • Displaying the active chat partner's avatar on the taskbar

Gaming & Creative Applications - Bringing Characters to Life

Enhance the gaming experience with animated icons that reflect in-game events and statuses.

CatAnimation.gif

PlanetAnimation.gif

Possible Ideas:

  • Character animations and states

  • Themed animations for level loading

  • Achievement unlock notifications

  • Game status indicators

This library still has a lot of possible improvements, and since it's open source, anyone who wants to participate is more than welcome! Whether it's adding features (like Lottie support), fixing bugs, or improving performance, your contributions can help shape the future of interactive UI.

For more info, check out the GitHub repo here: QAwesomeIcon


乱世の風雲で燕のように生き抜く
乱世の風雲で燕のように生き抜く



Has anybody implemented a custom QAccessibleInterface? Has anybody implemented a custom QAccessibleInterface?

Hi,

I'm in need to create specialized QAccessibleInterfaces for different widgets that currently don't have support, like QTreeView, or Checkbox a onsite QTableCells

Also need to enable accessibility, for automation, but not through Display role or QAccessibleTextRole or Q accessible description role. The QTableView works on it's own, is visible to QA if setObjectName is set, and data can be accessed.

Is it worth it?

My colleagues say it's too much hassle reading the online documentation and they don't want to look into it. I wanna have a go at it, to enable testability of the application for QA.

But not sure if the interfaces can be made "generic", agnostic.

As an example, we have a QTableView that has some check boxes. QA say they cannot click on the check boxes because they can not see them. But they can see the DataItems (individual table cells, if they are not empty - invalid QVariant)

Something to do with UIA, and Win32 oleacc IAccessible::getAccValue misbehaving, not having the right handlers.

But not much information comes up online regarding a minimal proper implementation.

Thanks in advance for any insight you can impart with me!!


Are some of qt repositories down? Are some of qt repositories down?

Hi,
I'm a Yocto developer (building custom Linux-based distributions) for embedded devices.
When building I usually use upstream repos to download stuff.

There is a meta-qt6 yocto layer and there I can build qtwebengine from scratch.

My problem is that the tool needs to clone 2 repositories - qtwebengine and qtwebengine-chromium.
qtwebengine is fetched from https://code.qt.io/qt/qtwebengine.git and it works fine with a regular clone
BUT
qtwebengine-chromium from https://code.qt.io/qt/qtwebengine-chromium.git doesn't clone and gives me 503 error (Service Unavailable).

Can this be that this repository is down temporarily (e.g. due to Cloudflare issues or something similar) or is it down for good?

I checked the alternative on github.com and it just works, but for some reason in meta layers the default is pointing to code.qt.io :
`QT_GIT ?= "git://code.qt.io"`

Please help me understand what is happening as I want to make preventive measures - maybe for now I'll switch to github and later on make my own mirrors just to be on a safe side.



GTK/gtkmm is the only mainstream, traditional/retained-mode, cross-platform C/C++ GUI toolkit that is GPU-accelerated. GTK/gtkmm is the only mainstream, traditional/retained-mode, cross-platform C/C++ GUI toolkit that is GPU-accelerated.
Widgets
The only mainstream, traditional/retained-mode, cross-platform C/C++ GUI toolkit that is GPU-accelerated is GTK/gtkmm.

Any thoughts? Why are we in a such situation? I remember GPU acceleration was briefly enabled for Qt Widgets, but it didn't deliver improvements as I understand.

5 upvotes 52 comments

普通のホラーじゃない。『Who’s at the Door?』は、幻覚が現実を侵す新感覚の韓国製アノマリーディテクションゲーム。 夜ごとに選択せよ——ドアを開けるか、薬を飲むか。 狂ったルールと3つのエンディング。あなたは“現実”を見抜けるか?




Moc and C++20 modules Moc and C++20 modules

Hi everyone!
I'm not a professional programmer and not really part of the Qt community, but as far as I know, Qt currently doesn’t support C++20 modules. That means QObject classes can’t be module interface units.

It seems like adding basic module support to moc could be relatively simple: just parse the module name (if present) and wrap the includes in the global module fragment in the generated file.

I’m thinking of trying to implement this myself, but I’m wondering if there’s already a solution or if I’m just reinventing the wheel


Efficient way of linking .dll's into release folder Efficient way of linking .dll's into release folder
Question

Hi, I'm currently struggling with releasing my Qt6 C++ project. Build with MSYS2 MinGW64 (GCC), and testing my .exe on different Win11 desktop. Every time a few new 3-4 dlls were missing, so for now I copied every file with regex like lib*.dll. I tried using ldd for MSYS2 and windeployqt, but they pointed me only like 8 dll files, white my project required over 20 small dll. Are there any good options for dynamic release with MSYS2? Or should I switch to MSVC?

Edit1: Yes, I usee windeployqt6, but it generated only QT-dll like QtCore.dll, QtWidget.dll etc. Still I had to copy and paste nearly 300 small dll files.


Error exception code 0xc0000005 in Qt5Gui.dll (PyQt5) after long runtime Error exception code 0xc0000005 in Qt5Gui.dll (PyQt5) after long runtime
Python

I have an application developed in Python 3.11.9 using PyQt5 for the GUI. The application writes .txt files to a folder and consists of 3 threads.

After running without issues for about a month, the application crashed with the following error:

Does anyone know what could cause this problem? Could it be related to the Windows user account or permissions? Are there any best practices to avoid this type of error in PyQt5 applications with multiple threads?

Event View log Faulting application name: python.exe, version: 3.11.9150.1013, time stamp: 0x660bda91 Faulting module name: Qt5Gui.dll, version: 5.15.2.0, time stamp: 0x5fa4ddbb Exception code: 0xc0000005 Fault offset: 0x00000000000046a0 Faulting process id: 0x7c0 Faulting application start time: 0x01dc51c26e94f85f Faulting application path: C:\Users\admi\AppData\Local\Programs\Python\Python311\python.exe Faulting module path: D:\Project\Application\GUI.venv\Lib\site-packages\PyQt5\Qt5\bin\Qt5Gui.dll Report Id: eb98fe8d-c1b6-4b64-89dc-adcce98b273d Faulting package full name: Faulting package-relative application ID:


『Cat Girl Survivor』は毎週進化する——新しい装備、新しいスキル、そして新しいカオス! プレイヤーのフィードバックから直接生まれるこのPlayStationインディー・ローグライクは、アニメ調の猫耳魔法使いと無限のビルド構成、そしてグローバル生存ランキングを融合させた作品です。 あなたはどこまで生き残れる?


How many traditional desktop UIs are being built? How many traditional desktop UIs are being built?

I'm working on a personal project - trading related - that 100 pct requires a non web, local area network, non qml, old school desktop application. I know that this seems dead, but for my architecture - NATS pub/sub, flatbuffers, lockless queues, multi threaded image generation, a front end figma like design tool , etc - I'm just amazed at the amount of incredible customization one can do with just "plain old desktop" QT. I don't think the platform gets the credit it deserves , at least for this type of application. The QT API is stable relative to the constant churn or other UI technologies and for specific purposes, it is just fabulous IMHO.


Hospital System Project Update Hospital System Project Update

Hello everyone,

I wanted to provide you with an update that I will not be able to support the development of the hospital system project at this time. I have started getting involved in another project to learn about diseases with AI in the real world which I will be focusing my attention on and will not be able to devote any time to this project going forward.

I have really appreciated all the support and interest from the community up to this point. If anyone wants to take on what's been done so far, feel free.

Thank you for your understanding



Workflow for Designing an Application with Qt Design Studio and Building a Python Backend Workflow for Designing an Application with Qt Design Studio and Building a Python Backend
Question

Hello,

I’m just starting out with QML and modern Qt tools.

I recently discovered Qt Design Studio and wanted to use it for a new Python project.

I created a small example, but I’m stuck at the step of connecting QML to Python, specifically with .ui.qml files.

My questions:

-Why do I have a .ui.qml file in my project instead of a regular .qml file?

- How can I link a button in my .ui.qml to Python?

I haven’t found any accessible and clear tutorials on the real workflow for connecting Qt Design Studio -> QML -> Python.

When I create the project in Qt Design Studio, I get a folder App1AppContent containing a file Screen01.ui.qml with my buttons.
I have enabled the Python generator in Qt Design Studio, and there is a python folder.


/*
This is a UI file (.ui.qml) that is intended to be edited in Qt Design Studio only.
It is supposed to be strictly declarative and only uses a subset of QML. If you edit
this file manually, you might introduce QML code that is not supported by Qt Design Studio.
Check out https://doc.qt.io/qtcreator/creator-quick-ui-forms.html for details on .ui.qml files.
*/
import QtQuick
import QtQuick.Controls
import SeculasApp

Rectangle {
    id: rectangle
    width: Constants.width
    height: Constants.height

    color: Constants.backgroundColor

    Button {
        id: btn_start_1
        x: 448
        y: 247
        text: qsTr("Start")

        Connections {
            target: btn_start_1
            function onClicked() {
                rectangle.state = "clicked"
            }
        }
    }
    Button {
        id: btn_start_2
        x: 448
        y: 300
        text: qsTr("Start 2")

        Connections {
            target: btn_start_2
            function onClicked() {
                rectangle.state = "clicked"
            }
        }
    }

    Switch {
        id: switch1
        x: 448
        y: 175
        text: qsTr("safety enable")
    }
    states: [
        State {
            name: "clicked"
        }
    ]
}

Thanks


Using scientific plots in QML: PyQtGraph/Matplotlib integration or alternatives ? Using scientific plots in QML: PyQtGraph/Matplotlib integration or alternatives ?

Hi everyone,
I've been using Qt with PyQt/PySide for scientific apps for a while. Recently, I got interested in QML since it feels more modern.

But I hit a snag: it seems impossible to embed QWidgets (like PyQtGraph or Matplotlib plots) directly in a QML panel.

Does anyone have tips or alternative libraries for integrating scientific plots in QML?

Thanks,


Cyber Week Offer: Get unlimited access to Bloomberg business news, market insights and global context, all for just $1.99/first month.





switching from fox-toolkit to qt switching from fox-toolkit to qt
Question
switching from fox-toolkit to qt

hello everyone.

i have some old school project which required simple gui so in that time i decided to use libFOX for it (in case you dont know about it, google the name on the title). In short - old windows 98/xp era graphics similar on Linux.

for now i want to maintain this project as my hobby and libFOX really outdated, plus QT gives open-source solution of theirs codebase with free usage for non-commercial usage. As QT maintained nowadays and seems more modern i have a question:

how hard and time consuming it would be to switch from libFOX to QT and will QT be as lightweight as libFOX? how to do it properly.

Thanks in advance.

3 upvotes 2 comments

Static build for commercial product Static build for commercial product

I will hopefully be releasing a product next year and everything will be statically linked. Why? Start times are super quick, and installation files are minimal. As far as I understand, static linking requires a commercial license, which I have no problem purchasing (via the Qt small business program), and I am happy to support the company. I'm currently working on trademarks, LLC formation, a number of final techncal issues, etc. Just wondering if there are any folks who have statically linked their Qt programs, and/or released software to the public. I would love to hear any advice or comments. Thanks!!


行方不明の研究者たちの運命を追い、バックルームで彼らの足跡を辿れ。真実を解明することができるのか、それとも永遠に失われた者となってしまうのか?



How to cross-compile a customized QGroundControl (Qt 6.8.3) for Jetson Nano (ARM64) from Ubuntu x86_64 How to cross-compile a customized QGroundControl (Qt 6.8.3) for Jetson Nano (ARM64) from Ubuntu x86_64

I have been customizing QGroundControl and have successfully built it for my Ubuntu system (x86_64 architecture) using Qt 6.8.3. I utilized the provided shell scripts and Dockerfiles located in the deploy/docker directory of the QGroundControl repository to build and package it as an AppImage.

Now, I want to build this customized version of QGroundControl for ARM64, specifically to run on a Jetson Nano. Since the Jetson Nano is not powerful enough to build the project natively, I want to build it on my x86_64 development machine and run it on the Jetson Nano.

From my research, I understand that I need to use a cross-compilation toolchain (like Linaro or GCC cross-toolchain), but I'm new to cross-compiling and need help understanding the process.

What I need:

- step-by-step guide on setting up cross-compilation for QGroundControl targeting Jetson Nano from x86_64 Ubuntu

- How to configure CMake with the right toolchain, sysroot, and Qt

version

- How to handle dependencies and runtime libraries for the ARM64 target

- How to package the resulting binary (preferably as an AppImage) to

run on the Jetson Nano

Any guidance or working examples would be greatly appreciated.


Adding rectangle doesnt build but window does Adding rectangle doesnt build but window does

i'm trying to learn QML and the source im using to learn says to put this code in but it doesn't display the example.
import QtQuick

Rectangle {

id: page

width: 320; height: 480

color: "lightgray"

Text {

id: helloText

text: "Hello world!"

y: 30

anchors.horizontalCenter: page.horizontalCenter

font.pointSize: 24; font.bold: true

}

}

however it does work when i put the following code

import QtQuick

Window {

width: 640

height: 2000

visible: true

title: qsTr("first window")

color: "black"

Text {

id: helloText

text: "Hello world!"

y: 30

anchors.horizontalCenter: page.horizontalCenter

font.pointSize: 24; font.bold: true

}

}




240Hzリフレッシュレート×有機ELの鮮やかさで勝利を掴め。インテル® Core™ Ultra 9 プロセッサーとAI最適化が圧倒的パフォーマンスを実現するLegion Pro 7i Gen10。


Help with Address Lookup Field Help with Address Lookup Field

I am working on a Desktop app where I am hoping to use a QLineEdit with QCompleter and (I assume) QPlaceManager to make address auto-suggestions like Online Map Services have. e.g. Google Maps, Open Street Map, most web-forms that require an address.

QPlaceManager seemed like the right thing, so I tried following the example code in the documentation, but it wasn't even a working example. Maybe I'm stupid, but I have no idea what to do to achieve this. I do have a working QCompleter at least.

I was working with Qt6.10 but couldn't compile the QtLocation module, so I'm now using Qt6.8.

Edit:

Anyway I think I figured out what I was doing wrong mostly, but this still bugs me.

/*QPlaceSearchReply * */ searchReply = manager->search(searchRequest);

After removing the comments, I'm given a

Member access to incomplete type error

What do I do with that? I didn't even write the code, and I'm expected to fix it? (Say's the idiot on reddit asking someone else to do the same)


Bus error when trying to import PySide6.QtWidgets Bus error when trying to import PySide6.QtWidgets

On my Raspberry Pi with RPi OS Bookworm, I recently started to get this weird error when trying to import PySide6.QtWidgets. It doesn't show a traceback or anything, instead it just crashes saying "Bus error". The exact line of code is:

from PySide6 import QtWidgets

Nothing more. What could this be due to? Any reports of recent package updates breaking Qt? Thanks in advance for your help.




Looking for a job as Qt Developer Looking for a job as Qt Developer

Hi all,

To be upfront, this is a throwaway account because I don't necessarily want to advertise to my network that I'm actively looking for a job.

Anyway, I'm a software developer with 20 YOE, almost 15 of those developing desktop UIs. Most of that has been on the Windows side with C#/WPF/UWP, but recently (in the last two years) I have made the jump to Qt/C++, and am loving it. I recently wrote an entire C++ multithreaded, event-driven backend by myself, as well as an MVVM frontend framework that I and the rest of my team are using for our application's development. I want to continue on this Qt journey, and am looking for new opportunities.

I am based in the US with US citizenship. I am open to relocating, although I would want to work remotely at the company first for a little while (maybe 6 months?) before making the big jump.

Please let me know if you or anyone you know is aware of any opportunities, or if you have any advice on where or what type of opportunities are out there. Any/all advice or info is appreciated!

Thank you!



The #1 most played Idler game on Steam






Need assistance cross-compiling Qt 6.2.4 from linux to windows Need assistance cross-compiling Qt 6.2.4 from linux to windows
C++

Before you ask, no I cannot compile on Windows, I refuse to touch that ai-infested piece of malicious [Comment removed by moderator]

I've recently created a project that compiles in QT Creator (on linux mint) and I need to set up a workflow to allow the project to compile for windows. I have downloaded the source code and mingw, but there seems to be a desperate lack of help online to actually set up the environment to compile the code for windows.- I don't have a specific error in mind as I keep running into various errors depending on the different 'fixes' I find online, but I would still sincerely appreciate any assistance or commands I can get.

Just to reiterate, no I cannot just send the project to a windows computer and compile from there, and my efforts in doing so with a VM have proven comically useless.

Edit: I managed to fanagle a solution with mxe.



Tired of AI forgetting? We have the solution!




Popup w/ Listview does not scroll... Popup w/ Listview does not scroll...

Title says it all

just ported an app from Qt 5 to Qt 6 was working fine in qt5

I have a popup modal with a listview inside it that will not scroll i can flick it with the mouse, but will not scroll with the mouse wheel...

i tested by removing the popup and just put under an Item and it works fine

also tried putting the listview delegate/logic inside the parent window of the popup, no luck

any suggestions

thanks




i am developing an qt desktop application. i have already developed the ui module that interact with user and get details for the application. so now i need to implement the core backend i need the it as a seperate module. how can i communicate or pass data between ui module and the backend module. i am developing an qt desktop application. i have already developed the ui module that interact with user and get details for the application. so now i need to implement the core backend i need the it as a seperate module. how can i communicate or pass data between ui module and the backend module.

Streaks don't equal fluency. Ditch the bird and learn for real. Buy 3 Months, Get 3 FREE. Offer ends soon.





Update 0.8.0, 0.8.1 for QodeAssist, QtCreator Open source AI Assistant Update 0.8.0, 0.8.1 for QodeAssist, QtCreator Open source AI Assistant

I've improved the tools and added a long awaited file editing tool, another step toward a fully-fledged AI Agent. Now in experimental stage, but I'd be delighted if you tried it out. Make some bigger

What's new:

  • File editing capabilities (activate in QtCreator Settings -> QodeAssist -> Tools tab)

  • Quick switch between chat modes(Chat <-> AI Agent)

  • Rework tools

Known limitations:

  • File editing tool doesn't work well with autoformatter yet(clang-format on save or typing)

  • AI Agent requires model with tool support

What's next:

  • MCP (Model Context Protocol) support

If you find this plugin useful, I'd appreciate your support - it really helps keep development going.

Link to github: https://github.com/Palm1r/QodeAssist/releases/tag/v0.8.1

P.S.
I'm also interested in whether companies support this project financially so that I can devote more time to developing the plugin.

How it looks in dark theme:


thy msg tothine self thy msg tothine self
from qiskit import QuantumCircuit, ClassicalRegister, Aer, execute
from qiskit.circuit.library import XGate, ZGate, HGate, SGate, TGate


class TemporalFlexCircuit:
    def __init__(self, n_qubits):
        self.n = n_qubits
        self.qc = QuantumCircuit(n_qubits)
        self.cregs = []            # list of ClassicalRegister(1) objects
        self.measure_map = {}      # measured_qubit -> creg index


    def add_layer(self, gates):
        # gates: list of tuples like ('h', q), ('cx', c, t), ('x', q)
        for g in gates:
            name = g[0].lower()
            if name == 'h' and len(g) == 2:
                self.qc.h(g[1])
            elif name == 'x' and len(g) == 2:
                self.qc.x(g[1])
            elif name == 'z' and len(g) == 2:
                self.qc.z(g[1])
            elif name == 's' and len(g) == 2:
                self.qc.s(g[1])
            elif name == 't' and len(g) == 2:
                self.qc.t(g[1])
            elif name == 'cx' and len(g) == 3:
                self.qc.cx(g[1], g[2])
            elif name == 'swap' and len(g) == 3:
                self.qc.swap(g[1], g[2])
            else:
                raise ValueError("Unsupported gate format: {}".format(g))


    def measure(self, q_index):
        # creates 1-bit classical register and measures q_index into it
        creg = ClassicalRegister(1, f'c{len(self.cregs)}')
        self.qc.add_register(creg)
        self.qc.measure(q_index, creg[0])
        self.cregs.append(creg)
        self.measure_map[q_index] = len(self.cregs) - 1
        return len(self.cregs) - 1


    def _apply_conditional_single(self, gate_name, target, creg, value):
        gate_map = {'x': XGate, 'z': ZGate, 'h': HGate, 's': SGate, 't': TGate}
        if gate_name not in gate_map:
            raise ValueError("Unsupported corrective gate: " + gate_name)
        instr = gate_map[gate_name]()    # create instruction
        # set classical condition on the single-bit register
        instr.c_if(creg, value)
        # append the instruction for the single target qubit
        self.qc.append(instr, [self.qc.qubits[target]], [])


    def relative_corrective_block(self, measured_qubit, correction_map):
        """
        Apply corrective blocks relative to a measured qubit.
        - measured_quit: index of qubit that was measured (must have been measured with measure()).
        - correction_map: dict mapping classical outcome (int) -> list of (gate_name, target_offset)
          where target = (measured_qubit + target_offset) % n
        Example:
          # if measured qubit m gave 1, apply X to (m+1) and Z to (m+2)
          {1: [('x', 1), ('z', 2)]}
        """
        if measured_qubit not in self.measure_map:
            raise ValueError("Qubit {} hasn't been measured (call measure() first)".format(measured_qubit))
        creg = self.cregs[self.measure_map[measured_qubit]]
        for outcome, ops in correction_map.items():
            for gate_name, offset in ops:
                target = (measured_qubit + offset) % self.n
                self._apply_conditional_single(gate_name.lower(), target, creg, int(outcome))


    def run_qasm(self, shots=1024):
        """
        Execute the built circuit on the Aer qasm simulator and return result.
        Use qasm (counts) because statevector after mid-circuit measurement + classical
        conditional gates is not meaningful.
        """
        backend = Aer.get_backend('aer_simulator')
        job = execute(self.qc, backend, shots=shots)
        return job.result()


if __name__ == "__main__":
    # Deterministic teleportation test:
    # Prepare |1> on q0, teleport to q2, verify final measurement of q2 is 1.
    tfc = TemporalFlexCircuit(3)


    # Prepare |1> on q0 (so we can deterministically check teleportation)
    tfc.add_layer([('x', 0)])


    # Create Bell pair between q1 and q2
    tfc.add_layer([('h', 1), ('cx', 1, 2)])


    # Bell measurement of q0 & q1 (teleportation)
    tfc.add_layer([('cx', 0, 1), ('h', 0)])
    tfc.measure(0)   # c0
    tfc.measure(1)   # c1
 ")
    # Relative corrective blocks:
    # if measurement of q1 (m=1) == 1 -> apply X to target (m+1) -> q2
    tfc.relative_corrective_block(1, {1: [('x', 1)]})
    # if measurement of q0 (m=0) == 1 -> apply Z to target (m+2) -> q2
    tfc.relative_corrective_block(0, {1: [('z', 2)]})


    # Final measurement of q2 to verify teleportation (measure into new classical bit)
    tfc.measure(2)  # this will be c2


    # Run on qasm simulator to verify teleportation deterministically
    result = tfc.run_qasm(shots=1024)
    counts = result.get_counts(tfc.qc)


    print("Circuit: -
    print(tfc.qc)
    print("\nCounts (format: classical registers string):\n - Untitle
    # For this setup we expect the final measured bit (c2) to be '1' in all shots.d-1:116", counts)")tled1:102", sv)

qtedit4 - version 0.0.15 - new C++ IDE/editor qtedit4 - version 0.0.15 - new C++ IDE/editor

Version 0.15 brings 3 new features:

  1. If opening an executable script, you will see a new "gear" on the tab, meaning that you can execute it using control+shift+R.

  2. Folding support (alt+0 to fold top level functions/methods, control+shift+[] to fold/unfold block).

  3. The command palette is smarter, should make it easier to find files in your project.

For next month release I will be concentrating on making running a script more reliable, reducing startup time, and memory footprint.

The editor component is available here: https://github.com/diegoiast/qutepart-cpp

The IDE is available here: https://github.com/diegoiast/qtedit4/releases/tag/v0.0.15


👋 Welcome to r/InterviewCoderHQ - Introduce Yourself and Read First!

Hey everyone! I'm u/Present-Work8395, a founding moderator of r/InterviewCoderHQ.

This is our new home for all things related to InterviewCoder. We're excited to have you join us!

What to Post

Post anything that you think the community would find interesting, helpful, or inspiring. Feel free to share your thoughts, photos, or questions about InterviewCoder, finding jobs, internships, and interviews.

Community Vibe

We're all about being friendly, constructive, and inclusive. Let's build a space where everyone feels comfortable sharing and connecting.

How to Get Started

  1. Introduce yourself in the comments below.

  2. Post something today! Even a simple question can spark a great conversation.

  3. If you know someone who would love this community, invite them to join.

  4. Interested in helping out? We're always looking for new moderators, so feel free to reach out to me to apply.

Thanks for being part of the very first wave. Together, let's make r/InterviewCoderHQ amazing.



Cannot get QWebEngine to log to a remote console via port 9222. Cannot get QWebEngine to log to a remote console via port 9222.
Question

Apparently QWebEngine is supposed to send debugging information, including console log messages, to a remote Crome web browser connected via http://localhost:9222 to act as a remote debugging terminal.

After many tries we are unable to make this work.

Here is the relevant code from our attempts.

qputenv("QTWEBENGINE_REMOTE_DEBUGGING", "9222");
qputenv("QTWEBENGINE_REMOTE_ALLOW_ORIGINS", "*");
...
QLoggingCategory::setFilterRules(QStringLiteral("js=true\nqt.webengine.webchannel=true"));
...
class DebugWebEnginePage : public QWebEnginePage
{
Q_OBJECT
public:
explicit DebugWebEnginePage(QObject *parent = nullptr) : QWebEnginePage(parent) {}

// NOTE: NOT overriding javaScriptConsoleMessage()
// so that console output goes to Chrome DevTools
};



int main(int argc, char *argv[])
{
// Step 1: Enable remote debugging BEFORE QApplication
qputenv("QTWEBENGINE_REMOTE_DEBUGGING", "9222");
qputenv("QTWEBENGINE_REMOTE_ALLOW_ORIGINS", "*");

QApplication app(argc, argv);

// Step 2: Enable JavaScript console logging AFTER QApplication
QLoggingCategory::setFilterRules(QStringLiteral("js=true"));

// Step 3: Create the widget/window
MarkdownEditorWindow window;
window.show();

return app.exec();
}

What are we missing to make this work ?

Thanks



I built an open-source Shell-Commands Manager! I built an open-source Shell-Commands Manager!

GitHub: Here!

Hey everyone!

I've been developing a modern command manager called CMD Manager, that allow users to manage and run commands easily. I'm relatively new to QT5, so any contribution and feedback is greatly appreciated!

Available on both Windows and Linux!

Why Did I Build This? (Target Audience)

I have to memorize and run a lot of commands in the command shell. Sometimes important bash scripts gets lost in my files. To manage all of the commands, I created this application, allowing users to save and run a lot of commands easily.

There is a cool feature that I use often, which is replace placeholder file, that allow user to substitute the placeholder file inside the command (input.txt) and choose the actual file from the computer system easily (C:\Documents\project\abc\data.txt).

There are also a lot of fun themes and font customization to choose from! Also available in 6 languages! (Feel free to add more!)




I am building a massive real time strategy game. Would you play something like this?
media poster




No Kits found | Ubuntu 2025 No Kits found | Ubuntu 2025

Hey everyone,

I’m on Ubuntu and I installed Qt using the official Qt online installer.
Qt Creator detects my compiler (GCC) and shows this under Kits → Desktop Qt 6.9.3 (default).

However, whenever I try to create a new C++ project, I get this error:

“No suitable kits found. Please add a kit in the options or via the SDK management tool.”

Here’s what I’ve checked so far:

  • GCC is installed and recognized (gcc --version works fine)

  • The kit shows GCC x86 64bit in /bin/gcc

  • Still, I can’t select any kit when creating a new project

Does anyone know what I might be missing?
Do I need to manually link qmake or adjust the Qt installation path somewhere?

Any help would be appreciated 🙏



Text Selection and copy, paste, cut not working for mobile or touch devices Text Selection and copy, paste, cut not working for mobile or touch devices

Note: This TEXTEDIT is inside flickable

TextEdit {

id: txt

text: "sometext... long paragraph"

font: "somefont"

color: black

wrapMode: Text.WordWrap

readOnly: true

selectByMouse: true

selectByKeyboard: true

selectionColor: "light blue

width: parent.width

}

ScrollBar.vertical: ScrollBar { }

}

I had this on my project, the selection of text works nicely on desktop, but some reason it is not working for mobile device.
How does one applies text selection, of copy,paste,cut on a text.



Choo-choo! Wishlist Lazy Train Game on Steam!


Custom QOpenGLContext = "Cannot make QOpenGLContext current in a different thread" Custom QOpenGLContext = "Cannot make QOpenGLContext current in a different thread"
C++

Using a custom created QOpenGLContext triggers a fatal error inside QSGRenderThread on QQuickWindow::exposeEvent here. Ignoring this causes no issue and I could just set AA_DontCheckOpenGLContextThreadAffinity but I don't think I should.

Here is the basic code to set the custom OpenGL context when creating the QQuickWindow

Window::Window()
    : _context(new QOpenGLContext(this))
{
    setGraphicsApi(QSGRendererInterface::OpenGL);
    Q_ASSERT(_context->create());
    setSurfaceType(QWindow::OpenGLSurface);
    setGraphicsDevice(QQuickGraphicsDevice::fromOpenGLContext(_context.get()));
}

I feel like I'm missing something but I don't really know what, I've never played around with QOpenGLContext

[ETA] I created a bugreport, but I think AA_DontCheckOpenGLContextThreadAffinity is in fact the way to go with this.



Vertical Centering Counts Taskbar Size Too Vertical Centering Counts Taskbar Size Too

void MainWindow::changeSize(QSize newSize)

{

resize(newSize);

QScreen *screen = QGuiApplication::primaryScreen();

QRect available = screen->availableGeometry();

int x = available.x() + (available.width() - width()) / 2;

int y = available.y() + (available.height() - height()) / 2;

move(x, y);

}

This is my slot to resize and center window, but the vertical centering counts taskbar size which I want to exclude. Thanks



How do I render a "raw" OpenGL Texture onto a QML Element ? How do I render a "raw" OpenGL Texture onto a QML Element ?
C++

Hey everyone,

Here is the context: I have a toy engine that manages its own context. I would like to create a binding for Qt by writing the engine's render buffer onto a QML Element (so I can create multiple views of the same scene for instance).

I already found how to create a custom OpenGL context for a QQuickWindow and share lists with the Engine's context but I'm not sure how to connect the dots from here.

I found QSGTexture but I don't really understand how to use it. QRhi seems quite interesting too but I don't really understand how to pass the base window's OpenGL context to the QQuickRhiItem

[ETA] I finally found a way to do it in a gracious way, you can find the test project HERE

I am even able to just display the meshes without any background, allowing me to write on top of QT 😁


QWidges 3rd party projects QWidges 3rd party projects

In a previous thread, I mentioned that QWidgets's upstream development is "stalled". I mentioned that some 3rd parties are needed. Here is a list of projects I use/follow. If anyone has cool projects to share - do this.

Code I found online:

  1. Flat tab widget, with cool animations: https://github.com/timschneeb/FlatTabWidget

  2. Cool text editor, based on KTextEditor's highlighting: https://github.com/Wing-summer/WingCodeEdit

  3. Animated slider: https://github.com/Wing-summer/WingCodeEdit

  4. Progress indicator: https://github.com/epasveer/QProgressIndicator

  5. Window title: https://github.com/stdware/qwindowkit

  6. Widgets on window titles: https://github.com/antonypro/QGoodWindow

  7. Adwaita widgets style: https://github.com/Qt-Widgets/adwaita-qt-style-qstyle (unmaintained fork?)

  8. Image viewer widget: https://github.com/palacaze/image-viewer

  9. Hex viewer widget: https://github.com/Dax89/QHexView

  10. API to get your application notified about updates: https://github.com/alex-spataru/QSimpleUpdater

My own code:

  1. LoadingWidget, progress line (not bar!) - https://github.com/diegoiast/qtedit4/blob/main/src/widgets/LoadingWidget.hpp

  2. QLineEdit with history (global history, shared between all editors): https://github.com/diegoiast/qtedit4/blob/main/src/widgets/HistoryLineEdit.h

  3. SplitTabwidget, like QTabWidget, but can also split the tabs horizontally, and move tabs between splits: https://github.com/diegoiast/qtedit4/blob/main/src/widgets/SplitTabWidget.h

  4. Command palette widget, like SublimeText/VSCode: https://github.com/diegoiast/command-palette-widget

  5. Creating config from code (might fork this into anotehr sub project): https://github.com/diegoiast/qmdilib/blob/main/demos/demo3/main3.cpp

  6. Using freedesktop icon themes in your app, https://github.com/diegoiast/qtedit4/blob/main/cmake/icons-breeze.cmake (again, might fork this into a 3rd party project to reduce friction).

What am I looking for:

  1. A bred crumb widget, for displaying files.

  2. A good text editor widget (working on one, WingCodeEdit looks nice), with spelling check (optional?)

  3. A terminal widget with windows support, MIT, LGPL.


Who’s ready to claim their destiny? 🔱 The two-episode premiere of #PercyJackson and the Olympians Season 2 is coming to Disney+ December 10.
media poster


QodeAssist v0.7.0 Released - Tool Calling QodeAssist v0.7.0 Released - Tool Calling

The most interesting thing about the latest update is that I added tool/function calling support, along with several basic tools for immediate use. In future versions, I'll be expanding them to cover more use cases. This will also allow us to release more frequently.

If you are interested, you can find out more about the new version or project here: https://github.com/Palm1r/QodeAssist/releases/tag/v0.7.0



Qt::GuiPrivate: target not found Qt::GuiPrivate: target not found
C++

So I'm trying to compile Krita from source, but I'm getting the error:

CMake Error at plugins/platforms/wayland/CMakeLists.txt:80 (target_link_libraries):
  Target "kritaplatformpluginwayland" links to:

    Qt::GuiPrivate

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

I can't fix it. I've tried steps on here, but that doesn't fix it.

I don't know what libraries I'm missing. I should have everything, but I'm just getting this error.

System info:

Operating System: Arch Linux 
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.18.0
Qt Version: 6.10.0
Kernel Version: 6.17.1-2-cachyos (64-bit)
Graphics Platform: Wayland

I can send all the installed QT packages if needed.



Run Multiple Qt Creator Instances on macOS with Parall Run Multiple Qt Creator Instances on macOS with Parall
IDE

I've been developing with Qt since Qt 4.2. After moving to macOS, I could run only one instance of Qt Creator at a time. That was fine until I needed to work on multiple projects in parallel. Switching profiles felt slow. My workaround was to clone the Qt Creator app bundle so I could launch more than one, but keeping those clones in sync was tedious.

I built a permanent fix - Parall app for macOS.

Parall creates tiny shortcut bundles that launch isolated instances of your existing Qt Creator app without copying it. Your shortcuts always point to the original app, so when Qt Creator updates, every shortcut is up to date-no more manual cloning

As a bonus each shortcut can use a custom data path. Run separate Qt Creator instances with different plugins, experimental configs, and isolated profiles. Parallel work, clean separation, zero duplication

How to set it up (step by step)

  1. Start the Parall app

2. Browse Applications and select Qt Creator app from /Applications folder

3. Optionally select Data Storage path and customize shortcut name and icon

4. Skip Permissions setup and press Generate Shortcut

5. Finally, save the shortcut and activate it once.

You get the Qt Creator (Work) icon in your Applications folder, and you can pin that to your Dock.

That's it. You now have multiple Qt Creator instances running in parallel on macOS, each cleanly isolated and always up to date.

Update: Parall v1.1.1 brings a completely new way to control apps. You can now add a tray icon menu to any shortcut so the app is always one click away in the menu bar while it is running. For supported browsers the tray menu also lets you open a new window or a new incognito window directly from the menu.


DicelyVerse: 3D dice roller DicelyVerse: 3D dice roller

Hello all,

I just released my first android app.

It is made in Qt (in C++/QML). It's a dice roller app.

It has 3D dice with physics, it also provides a full dice command interpreter called DiceParser.

DiceParser is library made in Qt. It is the main component of a Discord bot of the same name.

The DiceParser bot is used over 220 000 guilds on Discord.

Here a video: https://www.youtube.com/watch?v=haxM0Uxfrsc

Get the app: https://play.google.com/store/apps/details?id=org.rolisteam.dicelyverse

DiceParser (the lib on KDE's gitlab): https://invent.kde.org/rolisteam/rolisteam-diceparser


Still dragging gates manually? Your microscope data deserves better. Cytely turns raw images into actionable plots in seconds. Stop wasting time. Start discovering.








Site Blocker & Focus mode for Free - Chrome plugin


Qt job hotspots in the US Qt job hotspots in the US

Hi all,

I am looking for new opportunities as a Qt Developer. I just posted another post about looking for a job, which you probably saw if you're seeing this one now.

This topic is along that same vein but slightly different, so I decided to make another post out of it.

Basically I'm wondering if people have an idea of where the "hotspots" for Qt development opportunities are in the US, Silicon Valley aside? You know, some cities have industries that are more specialized in some technologies than others.

For example, I worked in Denver, CO, for a while, and it seemed like most of the stuff there was web, specifically ASP.NET. Of course, that might just have been a bias because I was always looking for .NET jobs, and there are a lot more web .NET jobs than desktop.

And just recently I was doing a job search and it seems like Pittsburgh and Boston have a lot of robotics opportunities.

So I was just wondering whether there are any cities in the US where Qt Framework is particularly popular? I'm looking to relocate, so it would be good to know what areas to target.

And as I said in my other post, this is a throwaway account so that I don't raise attention to my network that I am looking for new opportunities.

Thanks!


Material theme Qt5 to Qt6 port? Material theme Qt5 to Qt6 port?

Has anybody got any experience of maintaining the look and feel of Material theme in Qt6, with how it used to look in Qt5? I.e. in 6 some of the button shapes changed to be more rounded for example.

If so, what approach did you take?

Im asking about QML if it makes any difference.

I had a thought to copy the qml/Material folder from the install directory, but not sure whether that would work without issue.





Is QTWayland a viable option to create a compositor? Is QTWayland a viable option to create a compositor?
Question

I wanted to try out building my own compositor. I know about Wlroots and Smithay but I found out about QTWayland and it looked really nice. It allows you to build compositors on easy mode basically using QT. You can get a very basic compositor running with like 12 lines of code.

However, I noticed that Firefox and Chrome would crash the compositor (could just be some launch params I missed though). I also don't know how to implement extra things, such as X11 support amongst other things.

Surprisingly, both Chrome AND Firefox worked easily in the Wlroots TinyWL example.

However, if I decide to continue, is it worth continuing with QTWayland or Wlroots is a safer bet and the complexities will eventually start to even out as the compositor becomes more complex?


Best WhatsApp API for n8n – Fast, Affordable, Starting at Only $6/month



My Own Qt Creator Plugin License(Qt Company GPL Exception 1.0) My Own Qt Creator Plugin License(Qt Company GPL Exception 1.0)

I would like to create a plugin for Qt Creator, and I understand the term from Qt Company GPL Exception 1.0(https://github.com/qt-creator/qt-creator/blob/master/LICENSES/LICENSE.GPL3-EXCEPT)

Exception 2:

As a special exception, you have permission to combine this application
with Plugins licensed under the terms of your choice, to produce an
executable, and to copy and distribute the resulting executable under
the terms of your choice. However, the executable must be accompanied
by a prominent notice offering all users of the executable the entire
source code to this application, excluding the source code of the
independent modules, but including any changes you have made to this
application, under the terms of this license.

so could it mean the plugin that I build can be with my own proprietary license?




Examples projects links are down for websocket examples Examples projects links are down for websocket examples

I want to know how to handle the life time of a core application like a websocket client and see an example of how to do it by looking the official chat app example but the page is down, where I could find examples of how to use that module? my goal is to make it co exist with my client GUI that is made with glfw and ImGui and give it his own thread and find a way to share resource to pass the user input to the client and send a message to my test server, is there something that clarify this well?


Looking for Icon Suggestions for Project Hospital Looking for Icon Suggestions for Project Hospital

Hello everyone! 👋

I'm currently focused on enhancing the UI of project hospital and I'm interested in adding some nice, clean, and modern icons, for aesthetics.

If you have any recommendations - perhaps from sites like Flaticon, Icons8, or other open-source resources - please post them here!

I am in the midst of what appears to be a finishing phase, so there's no need to worry when it comes time to use the icons. I will first take your input, and select or modify the selected icons for project hospital.

⏳ I'm thinking of keeping this thread open for about a week before I modify the design - does that sound okay?

The update will be uploaded soon.

Thanks again to everyone - I really appreciate the help! 🙏


Learn Remote Viewing from Certified Instructors


Problem with adding resources in qml project Problem with adding resources in qml project
QML

Hi everyone, I'm doing my second project with qt framework (this time is an Android application and it's my first time using qt creator). I'm using qml for the UI, but i'm having trouble with adding resources to the project, precisely i would add icons to the buttons that I have. I've follwed the tutorials that invece found on youtube, but they didn't work. The steps that I've follwed are:

  1. Add a resources.qrc file

  2. Add to the cmake the the add_qml_resources module

  3. Add a prefix to resources.qrc and add to it the icon's files (from the dialog of qt Creator I've seen that I'm copying the files from my FS to the project directory). I saw that there is another way to add the resources to the cmake. I'didn't understand the way to reference to a resource in the qml file. Thank you in advance





Emulating key pressed on tests Emulating key pressed on tests

Code is simple:

    void MoveDownOneLine() {
        Qutepart::Qutepart qpart(nullptr, "one\ntwo\nthree\nfour");

        QTest::keyClick(&qpart, Qt::Key_Down, Qt::AltModifier);
        QCOMPARE(qpart.toPlainText(), QString("two\none\nthree\nfour"));

        QTest::keyClick(&qpart, Qt::Key_Down, Qt::AltModifier);
        QCOMPARE(qpart.toPlainText(), QString("two\nthree\none\nfour"));

        QTest::keyClick(&qpart, Qt::Key_Down, Qt::AltModifier);
        QCOMPARE(qpart.toPlainText(), QString("two\nthree\nfour\none"));

        QTest::keyClick(&qpart, Qt::Key_Down, Qt::AltModifier);
        QCOMPARE(qpart.toPlainText(), QString("two\nthree\nfour\none"));

        qpart.undo();
        QCOMPARE(qpart.toPlainText(), QString("two\nthree\none\nfour"));
        qpart.undo();
        QCOMPARE(qpart.toPlainText(), QString("two\none\nthree\nfour"));
    }

That key combination is trapped to a QShortcut, which calls a slot, which moves the lines. This works only for the first shortcut. Things I tested:

  1. QTest::keyDown/keyUP.

  2. Adding timouts after each event

  3. QApplication::processEvents();

  4. QTest::qSleep(300);

I have no idea why the events are not passed to the widget. Doing the same scenario on "wet", in real app, works as expected.

What should my next step be?



Get answers you can trust using real data



Critique my C++/Qt Task Framework - Is this a bad design? Critique my C++/Qt Task Framework - Is this a bad design?
C++

Hey r/QtFramework,

I've implemented a small framework for running asynchronous/background tasks in my Qt application and I'm looking for some feedback on the design. I'm a bit concerned I might be doing something that's considered an anti-pattern or has hidden dangers.

My main goals were:

  • Run jobs in a background thread pool.

  • Get signals back on the main thread for completion (success/failure).

  • Some tasks could be fire & forget.

  • Keep the tasks mockable for unit tests.

Because of the mocking requirement, I steered clear of QtConcurrent::run and created my own QRunnable-based system.

The Design

The core of the framework is an abstract base class that inherits from both QObject and QRunnable:

AbstractTask.hpp

#include <QObject>
#include <QRunnable>
#include <QString>
#include <QVariant>

class AbstractTask : public QObject, public QRunnable {
    Q_OBJECT

public:
    explicit AbstractTask(QObject* parent = nullptr) {
        // Per-task memory management.
        setAutoDelete(false);
    }

    // The main execution wrapper, handles signals and exceptions.
    void run() override final {
        emit started();
        try {
            if (execute()) {
                emit finished(true, m_errorMessage, m_result);
            } else {
                emit finished(false, m_errorMessage, m_result);
            }
        } catch (const std::exception& e) {
            m_errorMessage = e.what();
            emit finished(false, m_errorMessage, m_result);
        }
    }

signals:
    void started();
    void finished(bool success, const QString& errorMessage, const QVariant& result);

protected:
    // Concrete tasks implement their logic here.
    virtual bool execute() = 0;

    // Helpers for subclasses
    void setResult(const QVariant& result) { m_result = result; }
    void setError(const QString& errorMessage) { m_errorMessage = errorMessage; }

private:
    QString m_errorMessage;
    QVariant m_result;
};

A concrete task looks like this:

class MyConcreteTask : public AbstractTask {
    /* ... constructor, etc. ... */
protected:
    bool execute() override {
        // Do background work...
        if (/* success */) {
            setResult(42);
            return true;
        } else {
            setError("Something went wrong");
            return false;
        }
    }
};

And this is how I use it:

void SomeClass::startMyTask() {
    auto* task = new MyConcreteTask();

    // Connect signals to handle results on the main thread
    connect(task, &MyConcreteTask::finished, this, &SomeClass::handleTaskFinished);

    // IMPORTANT: Manage the object's lifetime
    connect(task, &MyConcreteTask::finished, task, &QObject::deleteLater);

    // Run it
    QThreadPool::globalInstance()->start(task);
}

My Specific Concerns:

  1. Inheriting QObject and QRunnable: This seems to be the standard way to get signals from a QRunnable, but is it a good practice?

  2. Memory Management: I'm explicitly calling setAutoDelete(false). My understanding is that this is necessary because the default auto-deletion can cause a crash if the task finishes and is deleted before its signals are processed. By connecting finished to deleteLater, I'm ensuring the task is safely deleted on its "home" thread (the main thread) after all signals are emitted. Is this logic sound?

  3. QtConcurrent Alternative: I know QtConcurrent is often recommended. My main issue with it is the difficulty in mocking the free function QtConcurrent::run. My AbstractTask interface is easy to mock in tests. Is there a modern QtConcurrent pattern that's more test-friendly that I'm missing?

  4. General "Code Smell": Does this whole approach feel right to you? Or does it seem like a clunky, old-fashioned way of doing things in modern Qt (I'm on Qt 5.15)?

Known Improvements

  1. Type-safety of AbstractTask result and error messages. I think we can make a templated AbstractTaskWithResult which inherits from AbstractTask, move result form AbstractTask to templated AbstractTaskWithResult.

  2. Error could be a enum class and string pair instead of a string.

I'd really appreciate any insights, critiques, or suggestions for improvement. Thanks!



Population Analysis Plugin Population Analysis Plugin

Hi,

I’m looking for a QGIS expert to help me develop a QGIS/Python plugin.

Here’s the core idea:

  • I have a CSV file that I currently process using Python (pandas).

  • I also have a shapefile layer in QGIS containing population polygons.

  • I’d like to build a form-based interface in QGIS that allows me to update population values in the CSV file (individually or in groups).

  • Once the CSV is updated, the plugin should automatically rerun my Python code.

  • The Python code will then update another column in the CSV file.

  • That updated column will be linked to the symbology of the polygon layer, so the map dynamically updates (like a heat map) as values change.

If this sounds like something you can assist with, please send me a DM with your rates. 😁

Thanks!