Quote Originally Posted by incubator
but at the same time this window should also be an MDI and I dont know if using multiple inheritance for this situation is appropriate. (I would like to avoid it in the first place).
It's not appropriate.

The reason why those tables should be represented with windows is because I need the functionality of resizing and moving those objects inside the canvas (unless there is a better way of course )
This can be very easily done with canvas objects. Reimplement mousePress, mouseMove and mouseRelease events for your canvas view, in the mousePressEvent check if an item was hit and if so, check whether it should be moved or resized based on the point clicked. In mouseMoveEvent use move() or moveBy() to move the object and in mouseReleaseEvent note that you shouldn't move the item anymore.