If you want a terminal gui, then ncurses may be suitable which you can also use in c++. Qt and Gtk have c++ bindings.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I'd recommend egui, though you have to use Rust for it. (learning it should be easy, considering the fact that you have background in C).
It really depends on which language you want to use.
Both GTK and Qt have good Python bindings.
GTK example: https://github.com/Taiko2k/GTK4PythonTutorial
There's also PyQt but it looks more complicated and I couldn't find as nice and straightforward of an example as GTK but I found this: https://realpython.com/qt-designer-python/
If you want to go to C, GTK works about the same way. If you want C++, Qt is pretty good there.
Otherwise you can go SDL and just put whatever pixels you want on the screen on your own.
[This comment has been deleted by an automated system]
Raygui, fltk, GTK. Qt if you're working in C++
You listed python.
If you are open to Python, I would recommend: https://textual.textualize.io/
Edit: for clarity, the above is if you want nice TUIs (text gui in terminal). If you want actual windowed applications not in terminal, in regards to Python, I would just say use tkinter.
Here's a list of projects known to use Textual: https://github.com/Textualize/transcendent-textual
There are a lot of cool projects I would suggest browsing to see what it can do, but the following pages have screenshots that do a good job of showing what it's capable of:
https://github.com/ChrisBuilds/moneyterm
https://github.com/bluematt/textual-musicplayer
https://github.com/eliasdorneles/usolitaire (I'd love to see someone do minesweeper for terminal)
Extra: while meant for terminal usage, you can use the mouse to interact, can run programs from ssh sessions, and I believe they’ve added the ability to take your TUI into web browsers.
…. Oh, also not restricted to Linux. It does generally work with Mac and windows (would recommend using windows terminal from windows store, it makes things look right, whereas command prompt does not display correctly.
I class myself as having similar experience to your friend having used Power Basic and Turbo Pascal mainly under DOS. I was able to use tkinter to produce some simple gui front-ends to produce dialogue boxes, process data and feed it to GnuPlot.
There is also newt
which is: ...a programming library for color text mode, widget based user interfaces.
It also comes with the whiptail
command for creating TUI interfaces for shell scripts. Similar to dialog
(ncurses) or zenity
(QT).
You don't
Use existing frameworks like GTK and QT
FOr me the quickest and basic way would be python and tkinter or pyqt. Failing that, push it to a web app with something like Flask or React
I'm not that deep into the topic, but I experimented with GTK and tkinter as a kid