Convert a Project from Qt3 to Qt5



  • Hi,
    I'm already making some small project in Qt3 and Qt5 with C++ , but my objective is to convert a big Project from Qt3 to Qt5 . It is possible ? what is the best way to do it ? step by step .

    Thk you for your Help .


  • Qt Champions 2016

    Hi and welcome

    Yes its possible but lots and lots of changes. Qt3 is epic old.

    from 3->4
    http://doc.qt.io/qt-4.8/porting4.html
    4->5
    https://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5

    But some of the classes might be gone and some method may no longer work so be
    prepared to re-write some of it instead of porting.

    It will most like take a long time if big project
    and will be more difficult if you are new to Qt.


  • Moderators

    @Monsif

    Hi and welcome to devnet

    Here is some information for converting from Qt3 to Qt4
    The next step would be the conversion frm Qt4 to Qt5, which I know is actually a minor step.



  • @mrjj Hi ,
    thanks for your Help , I don't know really how to start .there is some Tolls there are ready to use ?
    what do you advice me to do first ?


  • Qt Champions 2016

    @Monsif
    Hi
    Its really hard to advice on as normally one would look over the source.

    The best way depends on how cleanly the GUI is separated from
    the data and if the app is made of well-defined modules or just a gigantic mess.

    Also depends on what the app need.
    It might use stuff from Qt3 that do not exist anymore etc.

    Also if code is from when qt3 was new, then a new compiler might get billion warning etc.
    Much have changed.


  • Lifetime Qt Champion

    Hi,

    I'd recommend starting by the port to Qt 4 by completely forgetting that there's a compatibility module. This one was only there to help transition but it's not available in Qt 5 so there's no reasons to try to use it.

    Then just try building the your project with Qt 4. If there are classes missing, check the porting guide to see with what to replace them.

    If your big project contains several sub-projects, then just build them one after the other so you'll have less stuff to handle at once.

    Once thing you can do while going through your sources is to remove the modules from the includes e.g. from #include <QtGui/QWidget> to #include <QWidget> that will save you some time for the Qt 4 to Qt 5 transition.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.