> > 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. Mikhail -- https://mail.python.org/mailman/listinfo/python-list