Simple graphic library for beginners
> > But the OP isn't looking for a full-blown GUI toolkit. I went back and
> > re-read his post to be sure I wasn't misunderstanding. Therefore I
> > don't think the suggestion to use wxPython or PyQt is that helpful.
> > Do you have any other suggestions?
> > Even Cairo is pretty complicated (requiring pens and contexts) for what
> > he's asking for.
> > Personally I don't think it gets much easier or simpler than this sort
> > of thing:
> > https://github.com/Mekire/pygame-samples
> I couldn't see anything obviously simple there. A lot seems to do with
> interaction which is always much more complicated than just drawing stuff.
> 'Turtle' will do it (assuming there's a way of drawing things without
> having to watch an actual turtle symbol crawling around the screen).
That's right. Cairo, IIRC is mainly used as a rasterizer backend, so it
is not what OP wants.
Pygame is a SDL wrapper (a low-level lib), and NOT a wrapper for
GUI widgets. Almost everything must be made from ground up -
keyborad/mouse input, buttons (OP told about buttons).
So there not even such thing as "button" there - Pygame has nothing
of that high-level concept by default, so it will require an 3d party
module that implements those.
But, for *programming* classes, I personally would still recommend Pygame.
As for something quick and simple, Turtle seems to be good.
BTW - openCV is an excellent lib for drawing and image manipulation.
It has tons of ready-to-use functions and can show things up in a
window without additional coding.
But again: if you want *buttons*, then you are merely speaking about
a framework, not a lib. IOW if you drop the beloved by
people "buttons" idea, then you have much more good options.
PyQT is probably overkill, but it has a tool for GUI construction (qtdesigner)
and it makes it child-easy to draw a window with buttons, and some
canvas object, and then auto-creates pieces of code with objects and
interaction slots. So PyQT is imo better option for noobs than Pygame.
So here you have buttons and lots of OOP bloat as a consequence.