This week I worked on a whiteboard prototype. It is quite usable now. It offers drawing straight lines, freehand paths, rectangles, circles, polygons and writing text. It also allows to delete items and move them.
Here is screenshot of my prototype:
To implement it I use QGraphicsScene with classes inherited from QGraphicsItem which provides almost every functionality I need. I think that I will have to create my own class for handling freehand paths because QPainterPath, which I use now, automatically closes path and fills covered area.