GUI Development For Linux in C++

Hello. I am trying to learn GUI development for C++ on the GNU/Linux Operating System. I have tried QT but I cannot stand the dragging and dropping of widgets and I wish to design it purely using code similar to how you use HTML+CSS to design a web page. Are there any libraries that can do this?
I don't know how one "uses HTML+CSS", but I've seen multiple-choice wizards, perhaps even DnD, that "generate the code" for page. Did not like them, i.e. I know the feeling.

One does not need to use the "Qt Designer" (?). You can write the code by hand. The DnD is just an automation tool that generates the trivial code.

Qt is the only framework that I've used. It's benefit is that application could easily port to other platforms (which have Qt).
A couple of drive-by links that may get you started.

https://stackoverflow.com/questions/39964436/how-to-learn-qt-entirely-in-c-without-touching-qt-designer

https://www.bogotobogo.com/Qt/Qt5_LayoutNotUsingDesigner.php

You can also just use the designer and look at what it created for you, study it and unravel how it works one call/object at a time. That would get you a long way. I don't know if the generated code is 'good quality' or not, though. Most of the time generated code is not as slick as human made. Its probably best to use this as a backup in case you want to do something and can't find good links / docs on it.
Last edited on
In the Qt designer, hit the text button. This will allow you to directly write in XML code, which is basically HTML for defining objects (though the rules are API specific). EDIT: oops, this was already recommended by jonnin.

It even has a stylesheet system that is inspired by css https://het.as.utexas.edu/HET/Software/html/stylesheet.html

I personally don't use Qt because I don't like their license, and the file size is bloated on final compile, but it is still the best solution to your question that I know of.

And then there is Javascript... Just look up "Javascript Desktop App" on google and you'll get many multi-platform GUI frameworks.


Last edited on
There's CLion; favoured by many, not free.

There's Kdevelop, a little dated, but has it's own ecosystem.

There's also Visual Studio Code, which is really flexible, loads of plugins (variable quality), works remotely, ...
Try Dear Imgui.
I never got to really try it out, but many people say that it's pretty usable and it is open source.
I guess thats what you are looking for.

https://github.com/ocornut/imgui
imgui isn't an IDE, it's a GUI framework.

I spent some time on it some years ago, and gave up. But I spent some time with the latest version this morning and got an example to run on Ubuntu.

For those interested:
- your include path must have imgui and imgui/backends
- you must build all the .cpp files in imgi
- you must select a .cpp file from imgui/backends that matches your platform. I used backends/imgui_impl_opengl3.cpp
- I also installed libglfw-dev
- link with glfw, GL and dl

Also note, the examples on the project page are incomplete, they don't set up the environment, create the main window, ... See some of the examples in imgui/examples for that.
Registered users can post here. Sign in or register to post.