qt20fix(1) Helps clean namespace when porting an app from Qt1 to Qt2


qt20fix myapp.cpp


Qt 2.x is namespace-clean, unlike 1.x. Qt now uses very few global identifiers. Identifiers like red, blue, LeftButton, AlignRight, Key_Up, Key_Down, NoBrush etc. are now part of a special class Qt (defined in qnamespace.h), which is inherited by most Qt classes. Member functions of classes that inherit from QWidget, etc. are totally unaffected, but code that is not in functions of classes inherited from Qt, you must qualify these identifiers like this: Qt::red, Qt::LeftButton, Qt::AlignRight, etc.

The qt/bin/qt20fix script helps to fix the code that needs adaption, though most code does not need changing.

Compiling with -DQT1COMPATIBILITY will help you get going with Qt 2.x - it allows all the old "dirty namespace" identifiers from Qt 1.x to continue working. Without it, you'll get compile errors that can easily be fixed by searching this page for the clean identifiers.


TrollTech <http://www.trolltech.com/>