Strange nobody mentioned wxWidgets so far which gives you true native apps, so I'll do it: It provides API layer which compiles to Win32 API on Windows, Gtk2 on Linux and Carbon/Cocoa on Mac OSX. Qt only emulates Windows controls, but wxWidgets uses the actual Windows controls via Microsoft Win32 API. BTW, there's wxQt, a wxWidgets implementation that uses Qt instead of Gtk, but it's still experimental: https://wiki.wxwidgets.org/WxQt wxWidgets has been used by some popular projects like Audacity, TortoiseCVS, RapidSVN, FileZilla, BitTorrent, etc. Another wxWidgets advantage over Qt is the license, which gives you more freedom. If you're looking for a faster start, take a look at wxFormBuilder which is a graphical WYSIWYG UI editor where you can drop controls in windows/dialogs and hook up event handlers. You can find links to more related tools/IDEs on the Wikipedia page: |
What counts as the best depends on your exact requirements but three good options to get a GUI off the ground quickly are Tk [1], wxWidgets (and wxPython [2] and wxLua [3] in particular) and Lazarus (LCL) [4]. Tk widgets look native on Windows and macOS, though their behavior is implemented by Tk itself. On Linux it draws it own widgets in several styles; GTK and Qt theme support is immature. Lazarus and wxWidgets use native widgets on Windows and macOS. Both can use GTK2 on Linux but Lazarus also supports GTK1 and Qt. If I had to deliver a cross-platform desktop GUI application by midnight today, I would go with Tk, write the code in Tcl (which necessarily has the best Tk integration) and package it in a static binary Starpack [5]. [3] http://wxlua.sourceforge.net/ [4] http://www.lazarus-ide.org/, http://wiki.lazarus.freepascal.org/LCL |
If you don't want a _native_ GUI, you can go the Electron way. This way you'll have a fully cross-platform application with minimum hassle. If you want a native one, probably Qt is the winner here. |
I've recently been using Crank Storyboard and I've been off to a good start. You can run it on embedded devices like ARM Cortex-M series processors, or Linux, iOS, Android, Windows, with openGL support. It does require a license though. http://cranksoftware.com/storyboard-suite Also someone else mentioned Phonegap and using HTML/JS. I think is a good option but it depends on what your app does and if you're doing mobile app design. I have not used QT yet, but after doing some research, it's kind of a pick your poison type of choice, IMO. |
Depends on what you're after :) Electron or QT for cross-desktop apps, Angular & Ion framework for cross-mobile apps, React & React-native for cross-mobile apps |
Depending on the type of UI, you could also give Kivy a try.https://kivy.org/ It's python based, and really easy to get going. It does have it's quirks, but overall I found it a joy to use. |
No idea why you're being downvoted. QT refers to Apple's Quick Time. Qt refers to the Qt project, pronounced 'cute'. |
A web app is one of the most cross platform ways to go, is the easiest to deliver, and can be easy-ish to learn, but isn't the easiest. But, you are stuck with JavaScript. If a web app won't work for you, why not? Knowing that will allow people to help you more.
Qt is great, especially if you're using C++ or some other language. It's pleasant and very powerful, but a lot to learn, and deployment to users is harder than a web app.
What are your constraints & requirements?