• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Other Which GUI library should I use?

lvivtotoro

New Member


Messages: 2

#1
I am a JavaFX developer but am slowly (trying to) switch to something in C++ that supports FreeBSD.

I considered Qt, but it's license is a bit unappealing to me.
What other libraries are there?
 

unitrunker

New Member

Thanks: 8
Messages: 14

#5
I've been playing with Nana lately. It is written in modern C++ under the Boost Software License.

Nana includes a Code Blocks project file for folks that use Code Blocks but you are not limited to Code Blocks as your IDE choice.

https://github.com/cnjinhao/nana

Documentation is here:

http://nanapro.org/en-us/

To make it easy to build on FreeBSD, I've submitted a PR to the project owners.

https://github.com/cnjinhao/nana/pull/288

Three other noteworthy GUI projects are Nuklear (strict C), Dear Imgui (C++) and NanoGui.

Nuklear and ImGui are MIT licensed. Both are focused on gaming / fast frame rates. You choose the graphics back-end - eg. X11, OpenGL, etc.

https://github.com/vurtun/nuklear
https://github.com/ocornut/imgui

NanoGui is BSD licensed but relies on multiple other libraries with varying licenses. It has the most dependencies of all four.

https://github.com/wjakob/nanogui

Nearly all of the above are portable to Linux, Mac OS X and Windows.
 

kpedersen

Aspiring Daemon

Thanks: 218
Messages: 991

#6
If you want to use a GUI builder, then Gtk+ and Glade are a very good pair.

However, if you prefer everything in code then wxWidgets I find to be a little bit more "obvious" in naming and how things work.
The wxBoxSizer is quite similar to the javax.swing JGriBag that you may have used.

wxWidgets is also a little bit better supported on Windows if cross platform is important.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Thanks: 5,508
Messages: 25,688

#8
Please develop with Qt, all the GTKs are BS.
And I prefer Ford over Vauxhall/Opel. See what I did there? Statements like this are meaningless unless you explain why you prefer one over the other.
 

ronaldlees

Aspiring Daemon

Thanks: 189
Messages: 557

#9
Are you looking for a quick, light setup for GUI development, or a full blown toolkit that covers A-Z? Does the GUI need to be glitzy? Most people overlook the X11-toolkits/fltk port, which restricts itself to addressing only the GUI (unlike Qt, which tries to cover everything). The license is lgpl2, but an exception allows static linking. It's very small, only covers the GUI, and typically adds as little as 100k to a "hello world" style program.
 

giahung1997

Member

Thanks: 11
Messages: 63

#10
And I prefer Ford over Vauxhall/Opel. See what I did there? Statements like this are meaningless unless you explain why you prefer one over the other.
It would be long, and I'm not good at English, cann't fully express my thoughts and will cause a lot of misunderstandings, and holy war between fan of the two toolkit. You found my post to be meaningless, you're free to skip it.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Thanks: 5,508
Messages: 25,688

#11
and holy war between fan of the two toolkit.
They typically start with statements like "use X because Y is crap" without any (technical) arguments as to why it's crap. You won't start a holy war if you explained the rational behind your discussion. Otherwise your statement would simply be considered trolling and that will definitely start a holy war.
 

giahung1997

Member

Thanks: 11
Messages: 63

#12
They typically start with statements like "use X because Y is crap" without any (technical) arguments as to why it's crap. You won't start a holy war if you explained the rational behind your discussion. Otherwise your statement would simply be considered trolling and that will definitely start a holy war.
Mine differ experience. If I don't argue further why it's BS, it's just my personal opinion, no one can attack me. In my country, if I clearly state why, they'll immediately jump at me and from their mouth pouring "you're idiot", "you don't know everything", "you lack of knowledge", etc... and when they decide who's right I'm always lose, they show their degree I've none :(
 

SirDice

Administrator
Staff member
Administrator
Moderator

Thanks: 5,508
Messages: 25,688

#15
With libraries, tools or whatever there's always two reasons why someone uses X instead of Y. The first reason is technical merits. Is it technically a good tool, library or whatever? Does it work properly and correctly? Has it been designed well? Those merits can be discussed surely. Maybe there really is a better way to do things. The second reason however is a little more difficult. It's personal preference. Even if tool X is technically better I like to use tool Y. And that should be respected.