PDA

View Full Version : Old Version of Qt - Should I port?



MichelCarroll
6th November 2009, 16:09
For one of my projects, I need to modify an old application that uses Qt. The code is poorly documented, and doesn't include the version of Qt it uses.

The application was developed in 2007-08. From my observations, I believe the version to be Qt 2.0. This is because it includes "#include <qcanvas.h>", which I believe was replaced by q3canvas in Qt 3.0.

Should I port the application to the latest Qt? Or would it be possible to find an older version of Qt for the purpose of modifying this application.

wysota
6th November 2009, 17:45
QCanvas is a Qt3 class and was made obsolete in Qt 4 and replaced by QGraphicsView.

MichelCarroll
6th November 2009, 20:26
I've only started porting from Qt3 to Qt4, and already I'm losing hope. This is a very heavy application.

Any other alternatives?

aamer4yu
7th November 2009, 10:13
You should keep trying.. QGraphicsView is a wonderful replacement and most of the latest animation and performance features are being worked upon in QGraphicsView .
May be porting might take time and mind... but it will be fruitful in the end :)

wysota
9th November 2009, 09:44
I've only started porting from Qt3 to Qt4, and already I'm losing hope. This is a very heavy application.

Any other alternatives?

Did you try the automatic porting tool? It's called qt3to4 as far as I remember and is part of Qt4 distribution. It will give you a kick start. There is also an article in Qt Quarterly about porting QCanvas based code to Graphics View.

MichelCarroll
9th November 2009, 18:17
Did you try the automatic porting tool? It's called qt3to4 as far as I remember and is part of Qt4 distribution. It will give you a kick start. There is also an article in Qt Quarterly about porting QCanvas based code to Graphics View.

Thank you for the suggestion. I just tried qt3to4, and it did indeed give me a kick start.

However, I'm still trying to contact the original makers of the software. It's still a very big job, which will probably require their intervention.