Q:

What C++ GUI library can you suggest? 

I'm building my own game engine in C++ and I'm currently deciding on what user interface I should use.  
Should I use a library?  Should I make my own? 

A:

In fact, Qt widgets can be integrated with OpenGL and OpenGL can be easily integrated with Qt (QGLWidget).  Of course, the platform native looking widgets might not be exactly what you are looking for, but do not worry, there are ways to customize them, create your own or use something else which would better suit your needs, such as Qt Quick (which you should be able to integrate as well). 
If you are interested, do not miss these links: Widgets enter the third dimension: WolfenQt and Accelerate your widgets with OpenGL

A:

I don't think you should write your own, the task of creating a game engine is so huge by itself, if you around there are many many libraries with good licenses that you could use, and modify to your liking. 
For a game engine I would go for an Immediate mode GUI.  More informations here:
http://www.mollyrocket.com/forums/viewtopic.php?t=134
The key idea is to draw the component and control the interaction at the same time:
if (button(id, position, size)) 
{
    button_was_pressed();
}

For one, Unity uses a similar concept. 
You can find an implementation by NVIDIA, used in their demos:
http://code.google.com/p/nvidia-widgets/

A:

Personally, I would recommend CEGUI.  It's open source and pretty good.  However, what you have to keep in mind is that it can be very, very verbose if you write out everything by hand. 
But, on the plus side, it has renderers for both OpenGL and DirectX. I managed to put it on top of the template I normally use, which writes to a texture directly using a VBO (it's kind of hacky). 
The game in question was for a networking assignment.  The assignment was to have a networked game, with a lobby.  I knew the lobby was going to be a pain in the neck to make, so I picked a library that did most of it for me.