Nana is a cross-platform library for GUI programming in modern C++ style. Learn more...

  • LANGUAGE C++11/14/17
  • COMPILER Any Standard C++ compiler(Visual C++ 2013, GCC/MinGW and Clang)
  • PLATFORM Windows/Linux(X11)/FreeBSD(X11)
#include <nana/gui.hpp>
#include <nana/gui/widgets/label.hpp>
#include <nana/gui/widgets/button.hpp>

int main()
{
    using namespace nana;

    //Define a form.
    form fm;

    //Define a label and display a text.
    label lab{fm, "Hello, <bold blue size=16>Nana C++ Library</>"};
    lab.format(true);

    //Define a button and answer the click event.
    button btn{fm, "Quit"};
    btn.events().click([&fm]{
        fm.close();
    });

    //Layout management
    fm.div("vert <><<><weight=80% text><>><><weight=24<><button><>><>");
    fm["text"]<<lab;
    fm["button"] << btn;
    fm.collocate();
	
    //Show the form
    fm.show();

    //Start to event loop process, it blocks until the form is closed.
    exec();
}
Screenshots See applications using Nana

Nana C++ Library 1.7.4 Available Now

Nana 1.7.4 brings several updates - including enhanced performance and stability, usability and numerous other bug fixes and ...


Nana C++ Library 1.7.3 Available Now

Nana 1.7.3 brings several updates – including enhanced performance and stability, usability and numerous other bug fixes and ...


The Goal and the goals of nana.

The Goal: to be a C++ standard-like GUI library. That is. By putting it short and clear (specially the "standard-" part) all the ...


>>> More