The reason for having two classes is simple. QMatrix was introduced in Qt 3.0 as QWorldMatrix and is a direct port to Qt4 and QTransform was introduced in Qt 4.3 (I think) and simply extends QMatrix with new possibilities. AFAIK since 4.3 QMatrix is (or at least could be if not for complexity reasons) implemented using QTransform. As you can't remove a class from a newer version because of compatibility reasons, another class had to be added. That's a normal approach in Qt. For instance we have a few classes with "V2" (and even "V3") in their names that inherit their previous versions and extend them with new capabilities.
Bookmarks