Question

For GUI programming in C++, we can choose between too many libraries, such as Qt, Gtkmm, wxWidgets, FLTK and there is another one which already exists: Nana.

Nana C++ library is using modern C++ (C++11) language features such as lambdas, templates and more, and it seems to be compatible with C++ standard library.

If a GUI library is 100% compatible with C++ standard library, then why cannot we have it for next C++ standard (C++14 or C++17)?

Which conditions are necessary for a library to be in C++ standard library? if conditions are not defined, then we are doomed forever to be in a black hole of text and it will hurt your heart! Otherwise if conditions are defined, then where can i request a library to be within the next C++ standard?

Was it helpful?

Solution

Bjarne Stroustrup has already answered this question:

Why doesn't C++ have a GUI?

C++ has many commercial and open source GUIs (e.g. Gtkmm, SmartWin++, V C++ GUI, FLTK, and Qt). In particular, every platform vendor provides a C++ library to access their GUI. The problem is that it doesn't have a standard GUI, and that is indeed a major problem. Note that providing a GUI is both a technical and political problem. There are lots of GUIs with lots of users, and generally they wouldn't like some other GUI to be declared standard. Anyway, the standards committee do not have the resources to build a new and better GUI.

OTHER TIPS

How would you draw a button on a heart pacemaker?

You should have said:

or GUI programming under Windows or Linux in C++, we can choose between too many libraries, such as Qt, Gtkmm, wxWidgets, FLTK and there is another one which already exists: Nana.

C++ is operating system agnostic. Imagine how such a library would be supported on a platform that has no gui at all. Like a microcontroller, or some embedded piece of hardware.

Never say never, but I would never expect a GUI library like the ones you've mentioned to be added to the C++ Standard.

If a GUI library is 100% compatible with C++ standard library, then why cannot we have it for next C++ standard (C++14 or C++17)?

Because those GUI libraries also use platform- and OS-specific features to do what they do.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top