I'd like to make UI that's basically an image that a user can trace out a path on with points connected by lines. I'd like it to be cross platform so I'm considering trying out enaml. I'm not sure how to accomplish this though.
I've looked through the documentation and examples and I can't find anything like a canvas widget. Is it possible to do arbitrary drawing (points, lines, etc) on a surface with enaml?
enaml doesn't have a canvas widget, but you can use the RawWidget along with a custom QWidget and a QPainter to draw whatever you need.
And wala
You don't have to push the paint event to enaml it just makes it easier to interact with other widgets. See QtPainter docs and http://zetcode.com/gui/pyqt5/painting/ for more on drawing in Qt.