I built Caypper — a Qt/C++ wallpaper manager with Vim-style navigation and multi-DE support
https://www.reddit.com/gallery/1rztb9g
https://redd.it/1s0i2ih
@qt_reddit
https://www.reddit.com/gallery/1rztb9g
https://redd.it/1s0i2ih
@qt_reddit
Reddit
From the LinuxPorn community on Reddit: I built Caypper — a Qt/C++ wallpaper manager with Vim-style navigation and multi-DE support
Explore this post and more from the LinuxPorn community
Why does the last item get white text and how can I fix it?
https://preview.redd.it/pspe9jhxc1sg1.png?width=243&format=png&auto=webp&s=9d6ada40fdde95e1d09555e91a121e5871afd996
import QtQuick
import QtQuick.Controls
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
Column{
anchors.fill: parent
spacing: 5
padding: 5
Button {
width: 100
height: 40
text: "Click"
}
Button {
width: 100
height: 40
text: "Click"
}
Button {
width: 100
height: 40
text: "Click"
}
Button {
width: 100
height: 40
text: "Click"
}
}
}
https://redd.it/1s74mci
@qt_reddit
https://preview.redd.it/pspe9jhxc1sg1.png?width=243&format=png&auto=webp&s=9d6ada40fdde95e1d09555e91a121e5871afd996
import QtQuick
import QtQuick.Controls
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
Column{
anchors.fill: parent
spacing: 5
padding: 5
Button {
width: 100
height: 40
text: "Click"
}
Button {
width: 100
height: 40
text: "Click"
}
Button {
width: 100
height: 40
text: "Click"
}
Button {
width: 100
height: 40
text: "Click"
}
}
}
https://redd.it/1s74mci
@qt_reddit
Trying to resize using handles but the movement gets Parabolic
I'm making a code to transform a graphic item using visual handles. I want that each handle resizes anchoring in the opposite corner. To to that, I need to correct the position(t.translate(aX, aY);).
But this correction moves the object like a parabola: even if I move it uniformly, it goes faster that it should, then it slows and then it begins to go reverse and faster. The point in the delta numbers where it almost doesnt moves has, aparently, no correlation with the last mouse position (the place where the drag begins).
Does anyone have a clue why does this happens? This is my code:
void ibo::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
if (currentHandle == None)
{
QGraphicsPixmapItem::mouseMoveEvent(event);
return;
}
QPointF delta = event->scenePos() - lastMousePos;
double newWidth;
double newHeight;
double aX;
double aY;
if (currentHandle == BottomRight)
{
newWidth = oWidth + delta.x();
newHeight = oHeight + delta.y();
aX = 0;
aY = 0;
}
else if (currentHandle == TopLeft)
{
newWidth = oWidth - delta.x();
newHeight = oHeight - delta.y();
aX = delta.x();
aY = delta.y();
}
else if (currentHandle == TopRight)
{
newWidth = oWidth + delta.x();
newHeight = oHeight - delta.y();
aX = 0;
aY = delta.y();
}
else if (currentHandle == BottomLeft)
{
newWidth = oWidth - delta.x();
newHeight = oHeight + delta.y();
aX = delta.x();
aY = 0;
}
newWidth = std::max(newWidth, 10.0);
newHeight = std::max(newHeight, 10.0);
prepareGeometryChange();
QTransform t = t0;
t.scale(newWidth / oWidth, newHeight / oHeight);
t.translate(aX, aY);
setTransform(t);
qDebug() << delta.x() << newWidth;
}
https://redd.it/1s7zbhe
@qt_reddit
I'm making a code to transform a graphic item using visual handles. I want that each handle resizes anchoring in the opposite corner. To to that, I need to correct the position(t.translate(aX, aY);).
But this correction moves the object like a parabola: even if I move it uniformly, it goes faster that it should, then it slows and then it begins to go reverse and faster. The point in the delta numbers where it almost doesnt moves has, aparently, no correlation with the last mouse position (the place where the drag begins).
Does anyone have a clue why does this happens? This is my code:
void ibo::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
if (currentHandle == None)
{
QGraphicsPixmapItem::mouseMoveEvent(event);
return;
}
QPointF delta = event->scenePos() - lastMousePos;
double newWidth;
double newHeight;
double aX;
double aY;
if (currentHandle == BottomRight)
{
newWidth = oWidth + delta.x();
newHeight = oHeight + delta.y();
aX = 0;
aY = 0;
}
else if (currentHandle == TopLeft)
{
newWidth = oWidth - delta.x();
newHeight = oHeight - delta.y();
aX = delta.x();
aY = delta.y();
}
else if (currentHandle == TopRight)
{
newWidth = oWidth + delta.x();
newHeight = oHeight - delta.y();
aX = 0;
aY = delta.y();
}
else if (currentHandle == BottomLeft)
{
newWidth = oWidth - delta.x();
newHeight = oHeight + delta.y();
aX = delta.x();
aY = 0;
}
newWidth = std::max(newWidth, 10.0);
newHeight = std::max(newHeight, 10.0);
prepareGeometryChange();
QTransform t = t0;
t.scale(newWidth / oWidth, newHeight / oHeight);
t.translate(aX, aY);
setTransform(t);
qDebug() << delta.x() << newWidth;
}
https://redd.it/1s7zbhe
@qt_reddit
Reddit
From the QtFramework community on Reddit
Explore this post and more from the QtFramework community
CodePointer version 0.1.3 - new C++ IDE/editor
April version brings improvements to the git commit dialog (better editor experience, amend, push), fix the terminal font bugs (which means I should start redirecting output through this control next versions). Code format has been updated (you can reformat an editor without saving, and can also define custom formatters). F4 (find matching header/implementation) should be more reliable.
[https://gitlab.com/codepointer/codepointer/-/releases/v0.1.3](https://gitlab.com/codepointer/codepointer/-/releases/v0.1.3)
https://github.com/codepointerapp/codepointer/releases/tag/v0.1.3
https://redd.it/1s9dwxs
@qt_reddit
April version brings improvements to the git commit dialog (better editor experience, amend, push), fix the terminal font bugs (which means I should start redirecting output through this control next versions). Code format has been updated (you can reformat an editor without saving, and can also define custom formatters). F4 (find matching header/implementation) should be more reliable.
[https://gitlab.com/codepointer/codepointer/-/releases/v0.1.3](https://gitlab.com/codepointer/codepointer/-/releases/v0.1.3)
https://github.com/codepointerapp/codepointer/releases/tag/v0.1.3
https://redd.it/1s9dwxs
@qt_reddit
GitLab
April 2026 - release v0.1.3 - sssiiixxxx seeevveeeennn!!111 · codepointer / codepointer · GitLab
Full Changelog: https://github.com/codepointerapp/codepointer/compare/v0.1.2...v0.1.3 April 2026 - release v0.1.3 - sssiiixxxx seeevveeeennn!!111
AppImage for Enterprise Applications - Yay or Nah?
I work in a enterprise VPN company. We are planning to launch on Linux.
We have 5 services (non-QT) and we have already created an headless application with
I've experimented with
I learnt that
My question is:
1. Is AppImage the right choice for enterprise app deployment?
2. What are the cons of AppImage and can we use gdb with AppImage deployments?
3. Please share your experience and opinions on AppImage
4. How do you deploy your apps and what is your preferred format? What made you prefer that?
My options are looking like:
\- With
/opt/MyVpn/
|-----/bin/
| |---- service1
| |---- service{2...5}
| |---- UI.AppImage
|-----/assets/
|-----/license/
\- Without
/opt/MyVpn/
|-----/bin/
| |---- service1
| |---- service{2...5}
| |---- UI
|-----/libs/
| |---- libQt...
| |---- QML/...
|-----/assets/
|-----/license/
Thanks for sharing your experience!
https://redd.it/1s9bs45
@qt_reddit
I work in a enterprise VPN company. We are planning to launch on Linux.
We have 5 services (non-QT) and we have already created an headless application with
.deb and .rpm packages. Now we are developing our UI and I want the community's experience and opinions for right deployment method.I've experimented with
linuxdeploy tool for creating AppImage. It was good and super-portable; but debugability is my concern.I learnt that
linuxdeploy can also be used to gather the dependencies (libs and QML files). And we can package into any desired format afterwards.My question is:
1. Is AppImage the right choice for enterprise app deployment?
2. What are the cons of AppImage and can we use gdb with AppImage deployments?
3. Please share your experience and opinions on AppImage
4. How do you deploy your apps and what is your preferred format? What made you prefer that?
My options are looking like:
\- With
AppImage/opt/MyVpn/
|-----/bin/
| |---- service1
| |---- service{2...5}
| |---- UI.AppImage
|-----/assets/
|-----/license/
\- Without
AppImage (something similar of that sort)/opt/MyVpn/
|-----/bin/
| |---- service1
| |---- service{2...5}
| |---- UI
|-----/libs/
| |---- libQt...
| |---- QML/...
|-----/assets/
|-----/license/
Thanks for sharing your experience!
https://redd.it/1s9bs45
@qt_reddit
Reddit
From the QtFramework community on Reddit
Explore this post and more from the QtFramework community
My (self-inflected) painful journey from Qt 5 to Qt 6
As a follow-up to [my other post](https://www.reddit.com/r/linux/comments/1rwc0yc/an_update_on_starting_a_dental_practice_using/), a few people asked about my transition from Qt 5 to Qt 6 and why I made some of the decisions that I did.
So when I first wrote my software, it was made using Qt 5, qmake, QML, Qt Quick Controls, and Qt Quick Materials. Why QML? Because I wanted to make a good “touch friendly” UX since [I was going to use touchscreens clinically](https://youtu.be/lyi7C_23QEA?si=enprJ1wA95iyoye_). Because I didn’t want to make two different code bases for the desktop version (QWidgets) and for touch, I decided to use QML for both desktop and touch. There were some issues in terms of mouse selection (Qt Quick Materials text highlighting works mobile like by default); but overall it was fine.
Now fast forward to 2025. There are a few things that are happening at the same time:
First is the fact that KDE / Plasma / Kwin announced they will be completely getting rid of X11 session support soon. You can see my [other writeup]((https://www.reddit.com/r/linux/comments/1rwc0yc/an_update_on_starting_a_dental_practice_using/)) on why that was an issue here.
Second “issue” was the end of life of Windows 10. So many doctors were forced to upgrade new hardware; and afterwards, most of them hated Windows 11 after the “upgrade”. They hated it so much many of them Googled “Linux Dental EHR” and so my software come up their radar. I have gotten more phone calls and emails about Clear.Dental in the last 5 months than I did in the last 5 years. So why is this an issue? Well, many of them would contact me to see how they can “try” it. One problem: I made sure everything works well on Linux but never bothered to work on the macOS or Windows port. So I tell them to try it on Linux. Of course, these doctors don’t know how to make a Linux Live USB so they ask their IT manager. Turns out, they have no clue how to flash a USB stick either! So I realized I need to make more ports for my software.
The third issue is that more people got interested in my software outside the US. Many doctors outside the US know English, but their front desk / assistants may not. Therefore, I had to add proper i18n support. Another side issue was being able to handle both the American Universal Dental Charting System and the international FDI system.
Fourth issue: Qt 5.15 (the last Qt 5 release) already got EoL. Yes, technically Kubuntu 24.04 LTS can last me another year. But sooner or later I have to make to Qt 6 and Wayland. There is no going around this. I am sure some random distro will still have Qt 5.15; but nobody will be maintaining the actual Qt 5.15 code base at this point.
So I made this decision: I need to make a number of changes all at once rather then piecemeal:
* Port the Qt 5 code to Qt 6
* Move from qmake to cmake (because Qt 6 made shaders very difficult to manage if you are using qmake and I have a fair amount of shaders for viewing radiographs and using some 3d models)
* Move from Qt Material to Kirigami (will explain why soon)
* Remove my X11 “hacks” and make it work on Wayland properly
* Make it work as an KDE Application
Why Kirigami? Because it handles desktop and touch UX much better than Qt Quick Controls Materials. Kirigami on a desktop looks like an actual desktop app and will re-arrange itself properly to work in touchscreens.
And as to why I wanted to make this a KDE Project: I want to use their Craft building system to help out in the different ports / platforms. That way, once I port it to macOS or Android, keeping up the builds would be much easier.
Because the API and framework would be too different, I couldn’t just make changes to the code directly without breaking the build. So I kept the [Qt5 version at its current location (marked it as my 1.0)](https://gitlab.com/cleardental/cleardental) and then made [a brand new repo for the Qt6 version](https://invent.kde.org/desiotaku/cleardental); and then copied over the source files as I needed them
As a follow-up to [my other post](https://www.reddit.com/r/linux/comments/1rwc0yc/an_update_on_starting_a_dental_practice_using/), a few people asked about my transition from Qt 5 to Qt 6 and why I made some of the decisions that I did.
So when I first wrote my software, it was made using Qt 5, qmake, QML, Qt Quick Controls, and Qt Quick Materials. Why QML? Because I wanted to make a good “touch friendly” UX since [I was going to use touchscreens clinically](https://youtu.be/lyi7C_23QEA?si=enprJ1wA95iyoye_). Because I didn’t want to make two different code bases for the desktop version (QWidgets) and for touch, I decided to use QML for both desktop and touch. There were some issues in terms of mouse selection (Qt Quick Materials text highlighting works mobile like by default); but overall it was fine.
Now fast forward to 2025. There are a few things that are happening at the same time:
First is the fact that KDE / Plasma / Kwin announced they will be completely getting rid of X11 session support soon. You can see my [other writeup]((https://www.reddit.com/r/linux/comments/1rwc0yc/an_update_on_starting_a_dental_practice_using/)) on why that was an issue here.
Second “issue” was the end of life of Windows 10. So many doctors were forced to upgrade new hardware; and afterwards, most of them hated Windows 11 after the “upgrade”. They hated it so much many of them Googled “Linux Dental EHR” and so my software come up their radar. I have gotten more phone calls and emails about Clear.Dental in the last 5 months than I did in the last 5 years. So why is this an issue? Well, many of them would contact me to see how they can “try” it. One problem: I made sure everything works well on Linux but never bothered to work on the macOS or Windows port. So I tell them to try it on Linux. Of course, these doctors don’t know how to make a Linux Live USB so they ask their IT manager. Turns out, they have no clue how to flash a USB stick either! So I realized I need to make more ports for my software.
The third issue is that more people got interested in my software outside the US. Many doctors outside the US know English, but their front desk / assistants may not. Therefore, I had to add proper i18n support. Another side issue was being able to handle both the American Universal Dental Charting System and the international FDI system.
Fourth issue: Qt 5.15 (the last Qt 5 release) already got EoL. Yes, technically Kubuntu 24.04 LTS can last me another year. But sooner or later I have to make to Qt 6 and Wayland. There is no going around this. I am sure some random distro will still have Qt 5.15; but nobody will be maintaining the actual Qt 5.15 code base at this point.
So I made this decision: I need to make a number of changes all at once rather then piecemeal:
* Port the Qt 5 code to Qt 6
* Move from qmake to cmake (because Qt 6 made shaders very difficult to manage if you are using qmake and I have a fair amount of shaders for viewing radiographs and using some 3d models)
* Move from Qt Material to Kirigami (will explain why soon)
* Remove my X11 “hacks” and make it work on Wayland properly
* Make it work as an KDE Application
Why Kirigami? Because it handles desktop and touch UX much better than Qt Quick Controls Materials. Kirigami on a desktop looks like an actual desktop app and will re-arrange itself properly to work in touchscreens.
And as to why I wanted to make this a KDE Project: I want to use their Craft building system to help out in the different ports / platforms. That way, once I port it to macOS or Android, keeping up the builds would be much easier.
Because the API and framework would be too different, I couldn’t just make changes to the code directly without breaking the build. So I kept the [Qt5 version at its current location (marked it as my 1.0)](https://gitlab.com/cleardental/cleardental) and then made [a brand new repo for the Qt6 version](https://invent.kde.org/desiotaku/cleardental); and then copied over the source files as I needed them
Reddit
From the linux community on Reddit: An Update on Starting a Dental Practice using Linux (and why transitioning to Wayland will…
Explore this post and more from the linux community
and ported them over. I would continue to use the Qt5 version in my dental clinic such that if there is a major bug that needs to be fixed, I can fix it that the Qt5 repo. Yes, I could have just made a separate branch instead; it but since I was switching to cmake as well, all the file locations would be changed as well and it would have been too complicated to move files around each time.
So pretty good plan, right? Well, mistakes were made (which is why I am writing this).
First mistake is using a lot of “raw” strings. When I made the decision to go with Kirigami and KDE, the standard build flags include `QT_NO_CAST_FROM_ASCII`. This means `QString s = “hello”;` is no longer valid. You have to use `QString s = QStringLiteral(“hello”);`. Sadly, a lot of code not only used a lot of raw stings, but QVariantMap was used rather extensively because it maps to QML’s Javascript class types and I exploited that to share data between C++ and QML and of course I did a lot of `object[“attribute”] = value;` in my code; which had to be switched to `object[QStringLiteral(“attribute”]) = value;`. Now, could I have done something to flag to allow to cast strings from ASCII? Probably. I was more concerned that making it a KDE App it may make it difficult in the long run to have flags specific to my app for Craft to build it. There is also an unfortunate issue that if you were to use the standard KDE build flags; you would have to switch over to macros like `Q_SLOT` instead of `slots:` and `Q_EMIT` instead of `emit`. I’m just hoping this will be better in the long run.
Second mistake was using QML’s “Settings” type rather extensively. When it was released in Qt 5, it was technically a “lab” component which means it was still in an experimental stage. At the time, I thought it just meant small changes would be made. For Qt 6, they removed the `fileName` attribute and replaced it with the `location` attribute. However, it requires the protocol for the file location. For example, if you were using a fileName attribute, you had `/home/example/test.ini`, but now you have to make `file:///home/example/test.ini`. Not a huge problem but if you miss any of the replacements (since I set some of the attributes via code, not just declarations), you get a realtime error, not compile time. Therefore a fair amount of testing is needed just to make sure nothing was missed.
Third mistake was relying too much on X11 positioning. When using Windows / macOS, X11 in a multi-monitor setup, you have pretty much a giant “virtual” screen and setting the x or y position would allow you to set which screen the window would show up. For example, if you had 3 monitors, all of them 1920x1080, stacked vertically. You can make a window show up at the middle screen by setting the y position to be 1080 or the bottom screen by setting y to be 2160. Guess what you can’t do Wayland? Set the position of the window (at least, not as of right now). To make matters worse, setting the screen via QML is still broken. There is a crazy workaround but you can only fullscreen on a target screen. Eventually, I have to setup which screen / monitor is which location (patient side, wall, ceiling) for each operatory and then rely that configuration to know which screen it to full screen that video.
Sorry again for the big wall of text but believe it or not, there were even more things I could have added to this already long writeup.
https://redd.it/1sealvm
@qt_reddit
So pretty good plan, right? Well, mistakes were made (which is why I am writing this).
First mistake is using a lot of “raw” strings. When I made the decision to go with Kirigami and KDE, the standard build flags include `QT_NO_CAST_FROM_ASCII`. This means `QString s = “hello”;` is no longer valid. You have to use `QString s = QStringLiteral(“hello”);`. Sadly, a lot of code not only used a lot of raw stings, but QVariantMap was used rather extensively because it maps to QML’s Javascript class types and I exploited that to share data between C++ and QML and of course I did a lot of `object[“attribute”] = value;` in my code; which had to be switched to `object[QStringLiteral(“attribute”]) = value;`. Now, could I have done something to flag to allow to cast strings from ASCII? Probably. I was more concerned that making it a KDE App it may make it difficult in the long run to have flags specific to my app for Craft to build it. There is also an unfortunate issue that if you were to use the standard KDE build flags; you would have to switch over to macros like `Q_SLOT` instead of `slots:` and `Q_EMIT` instead of `emit`. I’m just hoping this will be better in the long run.
Second mistake was using QML’s “Settings” type rather extensively. When it was released in Qt 5, it was technically a “lab” component which means it was still in an experimental stage. At the time, I thought it just meant small changes would be made. For Qt 6, they removed the `fileName` attribute and replaced it with the `location` attribute. However, it requires the protocol for the file location. For example, if you were using a fileName attribute, you had `/home/example/test.ini`, but now you have to make `file:///home/example/test.ini`. Not a huge problem but if you miss any of the replacements (since I set some of the attributes via code, not just declarations), you get a realtime error, not compile time. Therefore a fair amount of testing is needed just to make sure nothing was missed.
Third mistake was relying too much on X11 positioning. When using Windows / macOS, X11 in a multi-monitor setup, you have pretty much a giant “virtual” screen and setting the x or y position would allow you to set which screen the window would show up. For example, if you had 3 monitors, all of them 1920x1080, stacked vertically. You can make a window show up at the middle screen by setting the y position to be 1080 or the bottom screen by setting y to be 2160. Guess what you can’t do Wayland? Set the position of the window (at least, not as of right now). To make matters worse, setting the screen via QML is still broken. There is a crazy workaround but you can only fullscreen on a target screen. Eventually, I have to setup which screen / monitor is which location (patient side, wall, ceiling) for each operatory and then rely that configuration to know which screen it to full screen that video.
Sorry again for the big wall of text but believe it or not, there were even more things I could have added to this already long writeup.
https://redd.it/1sealvm
@qt_reddit
Reddit
From the QtFramework community on Reddit: My (self-inflected) painful journey from Qt 5 to Qt 6
Explore this post and more from the QtFramework community
I'm looking for a framework to use for a fast desktop app, what should I use?
Is QT still a good thing to build desktop apps in 2026? Or are there some other faster alternatives? It's for a local AI project I plan to build
https://redd.it/1seraxd
@qt_reddit
Is QT still a good thing to build desktop apps in 2026? Or are there some other faster alternatives? It's for a local AI project I plan to build
https://redd.it/1seraxd
@qt_reddit
Reddit
From the QtFramework community on Reddit
Explore this post and more from the QtFramework community
Correct way to refresh as fast as possible?
I'm currently rendering externally into a QWidget in repaint event. I want to stress test gpu and thus make the widget refresh as fast as possible. What is the preferred way to do this? Calling update inside repaint or a timer of 0?
https://redd.it/1sew3ui
@qt_reddit
I'm currently rendering externally into a QWidget in repaint event. I want to stress test gpu and thus make the widget refresh as fast as possible. What is the preferred way to do this? Calling update inside repaint or a timer of 0?
https://redd.it/1sew3ui
@qt_reddit
Reddit
From the QtFramework community on Reddit
Explore this post and more from the QtFramework community
Qt-Designer margin headache.
GUI, PySide6, and Qt n00b here....
I'm wrestling with Qt Widgets Designer (qt-designer with PySide6)....
I can't get these margins to make sense.
https://preview.redd.it/yovbwyuvoutg1.png?width=305&format=png&auto=webp&s=1a07a145c1f43a3fbf92074638d620d50e91ff34
https://preview.redd.it/uif0l9uyoutg1.png?width=518&format=png&auto=webp&s=531ba1d2e2cbbbcd75b389c6b3cd8cfd492f3b82
https://preview.redd.it/eeuvur7nputg1.png?width=293&format=png&auto=webp&s=29f8c6ea96cc92d1967b35894622feb50360c02f
As you can see, the layoutLeftMargin and layoutRightMargin are identical at 9, but the "Part Number" GroupBox appears to have way more space on the left than the right! If I manually mess with the layoutLeftMargin to like 5 or 6, it looks much better.
Any idea how to resolve this issue? It also seems to persist in all of the preview options.
Thank you for your help!
https://redd.it/1sfc1tz
@qt_reddit
GUI, PySide6, and Qt n00b here....
I'm wrestling with Qt Widgets Designer (qt-designer with PySide6)....
I can't get these margins to make sense.
https://preview.redd.it/yovbwyuvoutg1.png?width=305&format=png&auto=webp&s=1a07a145c1f43a3fbf92074638d620d50e91ff34
https://preview.redd.it/uif0l9uyoutg1.png?width=518&format=png&auto=webp&s=531ba1d2e2cbbbcd75b389c6b3cd8cfd492f3b82
https://preview.redd.it/eeuvur7nputg1.png?width=293&format=png&auto=webp&s=29f8c6ea96cc92d1967b35894622feb50360c02f
As you can see, the layoutLeftMargin and layoutRightMargin are identical at 9, but the "Part Number" GroupBox appears to have way more space on the left than the right! If I manually mess with the layoutLeftMargin to like 5 or 6, it looks much better.
Any idea how to resolve this issue? It also seems to persist in all of the preview options.
Thank you for your help!
https://redd.it/1sfc1tz
@qt_reddit
Use tracy with Qt and opengl?
/r/cpp_questions/comments/1sfwhyj/use_tracy_with_qt_and_opengl/
https://redd.it/1sg0bm3
@qt_reddit
/r/cpp_questions/comments/1sfwhyj/use_tracy_with_qt_and_opengl/
https://redd.it/1sg0bm3
@qt_reddit
Reddit
From the QtFramework community on Reddit: Use tracy with Qt and opengl?
Posted by Neotixjj - 0 votes and 0 comments
Who's crazy: me, QML LS, or VSCode?
/r/QML/comments/1sbfj2k/whos_crazy_me_qml_ls_or_vscode/
https://redd.it/1sbfy3p
@qt_reddit
/r/QML/comments/1sbfj2k/whos_crazy_me_qml_ls_or_vscode/
https://redd.it/1sbfy3p
@qt_reddit
Reddit
From the QtFramework community on Reddit: Who's crazy: me, QML LS, or VSCode?
Posted by vorhvb - 0 votes and 2 comments
QPolygon occlusion
Hey, so I am posting this here since I've been struggling with this in the past 2 weeks.
For a school project, I am making a Doom-like game environment with BSP and rendering without any OpenGL or Qt3D. Although not exactly the same, it is still useful to learn all the concepts and develop the programming intuition. The problem is I've hit a roadblock. The renderer we made does not render in columns like Doom. Instead, we use QPolygons. Right now, we have a pretty good game we could submit and get our points, but it render back to front. I'd like to integrate front to back with occlusion but no matter what I've tried, it won't work properly. The closest I got was with QPainterPath, managing visible space with screen size, but even that was heavy on computing power and had some bugs. I'd really like some help on finding a solution to do this occlusion. As or right now, I use a universal version of BSP (Not the one in Doom with subsectors, more of the one like Wikipedia suggests), and QPolygons for rendering, with a few structure like Vertex, Sectors and Linedefs, if this can help. Haven't made the Visplane yet. Thanks a lot to anyone who want to help!
https://redd.it/1shdix7
@qt_reddit
Hey, so I am posting this here since I've been struggling with this in the past 2 weeks.
For a school project, I am making a Doom-like game environment with BSP and rendering without any OpenGL or Qt3D. Although not exactly the same, it is still useful to learn all the concepts and develop the programming intuition. The problem is I've hit a roadblock. The renderer we made does not render in columns like Doom. Instead, we use QPolygons. Right now, we have a pretty good game we could submit and get our points, but it render back to front. I'd like to integrate front to back with occlusion but no matter what I've tried, it won't work properly. The closest I got was with QPainterPath, managing visible space with screen size, but even that was heavy on computing power and had some bugs. I'd really like some help on finding a solution to do this occlusion. As or right now, I use a universal version of BSP (Not the one in Doom with subsectors, more of the one like Wikipedia suggests), and QPolygons for rendering, with a few structure like Vertex, Sectors and Linedefs, if this can help. Haven't made the Visplane yet. Thanks a lot to anyone who want to help!
https://redd.it/1shdix7
@qt_reddit
Reddit
From the QtFramework community on Reddit
Explore this post and more from the QtFramework community
QNativeInterface and Wayland window/surface?
This was announced in the blog post for when Qt version was something like 6.5, now it is 6.11, and there are no changes here; we still need private headers and calls?
https://redd.it/1sifdvx
@qt_reddit
This was announced in the blog post for when Qt version was something like 6.5, now it is 6.11, and there are no changes here; we still need private headers and calls?
https://redd.it/1sifdvx
@qt_reddit
Reddit
From the QtFramework community on Reddit
Explore this post and more from the QtFramework community
Setting the background color of a spinbox
[ Windows 11, style=windows11 \]
I wanted to set the background color of a spinbox. I do not want to use style sheets, because style sheets interfere with Qt's automatic handling of dark mode.
OK, should be straightforward enough: set one of the roles on the spinbox's palette to the desired color.
But which role? After experimentation and reading the sources, the answer seems to be that if the widget's background role (which defaults to
https://github.com/qt/qtbase/blob/d1f8ab0ef8801ee0d3f86e6c4cb7e293f08515c6/src/plugins/styles/modernwindows/qwindows11style.cpp#L3133
I suspect that this is just a bug. Comments indicate that it's derived from
Does anybody know anything more, before I file a bug report?
https://redd.it/1sizpw4
@qt_reddit
[ Windows 11, style=windows11 \]
I wanted to set the background color of a spinbox. I do not want to use style sheets, because style sheets interfere with Qt's automatic handling of dark mode.
OK, should be straightforward enough: set one of the roles on the spinbox's palette to the desired color.
But which role? After experimentation and reading the sources, the answer seems to be that if the widget's background role (which defaults to
Window) is set in the palette, then it uses the Button role. (Huh?!?)https://github.com/qt/qtbase/blob/d1f8ab0ef8801ee0d3f86e6c4cb7e293f08515c6/src/plugins/styles/modernwindows/qwindows11style.cpp#L3133
I suspect that this is just a bug. Comments indicate that it's derived from
controlFillBrush, and that is straightforwardly "if Button is set, use Button". I suspect that in the copy-and-paste the test got updated to "if the background role is set...", but then the consequent got left as "use Button".Does anybody know anything more, before I file a bug report?
https://redd.it/1sizpw4
@qt_reddit
GitHub
qtbase/src/plugins/styles/modernwindows/qwindows11style.cpp at d1f8ab0ef8801ee0d3f86e6c4cb7e293f08515c6 · qt/qtbase
Qt Base (Core, Gui, Widgets, Network, ...). Contribute to qt/qtbase development by creating an account on GitHub.
Looking for Open Source Greentech/Environmental projects (Qt/C++ & Graphics focus)
Hi everyone, I’m looking to contribute to open-source projects in the Greentech/Climate-tech space.
I have an intermediate background in C++ and Qt/QML, and I’m coming from a Technical Art background (3D engines, shaders, performance optimization). I'm particularly interested in:
\- Digital Twins for industrial/environmental simulation.
\- High-performance data visualization (OpenGL/Vulkan integration in Qt).
\- Desktop applications for environmental monitoring or GIS.
If you know of any active repositories or organizations that could use help on the UI/Visualization side, please let me know! :D
https://redd.it/1sjapet
@qt_reddit
Hi everyone, I’m looking to contribute to open-source projects in the Greentech/Climate-tech space.
I have an intermediate background in C++ and Qt/QML, and I’m coming from a Technical Art background (3D engines, shaders, performance optimization). I'm particularly interested in:
\- Digital Twins for industrial/environmental simulation.
\- High-performance data visualization (OpenGL/Vulkan integration in Qt).
\- Desktop applications for environmental monitoring or GIS.
If you know of any active repositories or organizations that could use help on the UI/Visualization side, please let me know! :D
https://redd.it/1sjapet
@qt_reddit
Reddit
From the QtFramework community on Reddit
Explore this post and more from the QtFramework community
Built a study planner app in Qt/C++ – looking for suggestions and feedback
https://preview.redd.it/i9zkjg0pr1vg1.png?width=1112&format=png&auto=webp&s=ebb844e9b2daca38b678a4fc6bc34f581bab798d
I’m in my second semester of uni and working toward declaring computer engineering, and I built a study planner in Qt/C++ that I now use daily. It’s a lightweight desktop app with tasks, groups, messaging, and SQLite storage. I’d appreciate any suggestions on architecture, Qt best practices, or UI decisions.
https://github.com/salem-5/StudySync
https://redd.it/1skskdl
@qt_reddit
https://preview.redd.it/i9zkjg0pr1vg1.png?width=1112&format=png&auto=webp&s=ebb844e9b2daca38b678a4fc6bc34f581bab798d
I’m in my second semester of uni and working toward declaring computer engineering, and I built a study planner in Qt/C++ that I now use daily. It’s a lightweight desktop app with tasks, groups, messaging, and SQLite storage. I’d appreciate any suggestions on architecture, Qt best practices, or UI decisions.
https://github.com/salem-5/StudySync
https://redd.it/1skskdl
@qt_reddit
QML language server in pure Go - standalone LSP, no Qt Creator required
Hey all,
I've been frustrated that the only decent QML tooling has historically lived inside Qt Creator. Editors with LSP support either get nothing or a version of qmlls
that's painful to install outside the Qt toolchain.
So I wrote a standalone one:
https://github.com/cushycush/qml-language-server
It's a single static Go binary that speaks LSP over stdio. No CGO, no shared libs, no Qt install — just drop it in your PATH and point your editor at it. Under the
hood it uses a pure-Go tree-sitter runtime with the tree-sitter-qmljs grammar.
Features (v1.0.1):
\- Hover with documentation for QtQuick, QtQml, QtQuick.Controls, and QtQuick.Layouts types
\- Context-aware completion (types, properties, signal handlers, anchors, imports)
\- Go-to-definition and find-references across the workspace (not just the current file)
\- Diagnostics from parse errors
\- Rename, document symbols, signature help, inlay hints
\- Code actions for common quick-fixes
It also knows about Quickshell types if you happen to be building a desktop shell with QML, but that's a superset — the Qt/QtQuick coverage is the core.
What it isn't:
it's not a full QML type checker. It doesn't understand C++-backed custom types the way qmlls paired with a build does. If you're working on a big Qt
app with lots of
Q_PROPERTY
\-registered C++ classes, qmlls will still give you deeper results. But for editing QML files in VS Code or Neovim without booting Qt
Creator, this should cover most of what you want.
v1.0.1, so there will be rough edges. Bug reports and "it should know about X type/property" requests very welcome.
https://redd.it/1slusew
@qt_reddit
Hey all,
I've been frustrated that the only decent QML tooling has historically lived inside Qt Creator. Editors with LSP support either get nothing or a version of qmlls
that's painful to install outside the Qt toolchain.
So I wrote a standalone one:
https://github.com/cushycush/qml-language-server
It's a single static Go binary that speaks LSP over stdio. No CGO, no shared libs, no Qt install — just drop it in your PATH and point your editor at it. Under the
hood it uses a pure-Go tree-sitter runtime with the tree-sitter-qmljs grammar.
Features (v1.0.1):
\- Hover with documentation for QtQuick, QtQml, QtQuick.Controls, and QtQuick.Layouts types
\- Context-aware completion (types, properties, signal handlers, anchors, imports)
\- Go-to-definition and find-references across the workspace (not just the current file)
\- Diagnostics from parse errors
\- Rename, document symbols, signature help, inlay hints
\- Code actions for common quick-fixes
It also knows about Quickshell types if you happen to be building a desktop shell with QML, but that's a superset — the Qt/QtQuick coverage is the core.
What it isn't:
it's not a full QML type checker. It doesn't understand C++-backed custom types the way qmlls paired with a build does. If you're working on a big Qt
app with lots of
Q_PROPERTY
\-registered C++ classes, qmlls will still give you deeper results. But for editing QML files in VS Code or Neovim without booting Qt
Creator, this should cover most of what you want.
v1.0.1, so there will be rough edges. Bug reports and "it should know about X type/property" requests very welcome.
https://redd.it/1slusew
@qt_reddit
GitHub
GitHub - cushycush/qml-language-server
Contribute to cushycush/qml-language-server development by creating an account on GitHub.