Hi all,
Perhaps a stupid question. Some time ago, I received a rpi zeroW as a gift, but as I did not have any use for ii I passed it to somebody else in our electronics-group. Now, that person has had a +30 year carreer as self-taught programmer -starting out with BASIC on DOS machines- so he showed of some of his old BASIC applications in dosbox on the pi.
So far so good, but he had an interesting question: Years ago, I wrote a library in BASIC for screen / window applications in DOS. (you know, pop-up text-windows and so on). How do I do that on linux (in C)?
As I myself only do 'backend' coding (so no UI), I have to admit I did not have any answer to that.
So, question, For somebody who has mostly coded in BASIC (first DOS and later Visual Basic) and now switched to C and python, what is the best / most easy tool to write a basic UI application with window-function on linux/unix. I know there exist things like QT and ncurses, but I never used these, so I have no idea.
Any advice?
Kr.
If you want a terminal gui, then ncurses may be suitable which you can also use in c++. Qt and Gtk have c++ bindings.
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
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.
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).
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 todialog
(ncurses) orzenity
(QT).