Nice work!
Though I would recommend to follow Qt's style for naming methods, i.e. start with a lower case letter and probably name them in a way they say what they are doing.
E.g. addRowDefinition() if it adds the definition of a new row. At least that is what it looks like.
Also it is usually not a good idea to call a custom class QSomething, that makes it look like a class from Qt and gets people confused when they can't find it in the documentation.
Cheers,
_
Bookmarks