SDL and OpenGL look pretty good to me. It looks almost like learning a new language though. Same logic, new I/O.
Does SDL has enough for a GUI? I'm not sure.
SDL is not a graphics library in the traditional sense. It has a focus on game programming. eg (pseudo code)
in a traditional graphics library you will be doing something like this
Code:
Window w;
w.addButton(0,0);
w.addLabel(5,5, "asdf");
whereas in a library like SDL you will be doing something like this:
Code:
Window w;
w.drawLine(x1, y1, x2, y2);
w.drawCircle(x, y, radius, color);
(none of this is actual code, but hope you get the idea)
OpenGL is a 3D library, and you probably don't want to use it to draw GUIs.
To draw GUIs, try libraries like Qt, WxWidget, GTKmm, or libraries specific to your platform (non-portable, not recommended).