Use Qt 5 or Qt 4 for new project?
We may use Qt for a new project. We have some components from partner who is still using Qt 4. My questions are those:
- is it a good idea using Qt 5 for new components
- are there any issues using new components, which are built by using Qt5, with old components, which were built with Qt 4?
- convert their Qt4 components to Qt 5 is a big job? Their old components are mainly handle medical image display.
- anywhere we can find the summary of differences between Qt4 and Qt5, and what changes need to be done to port a Qt 4 project to Qt 5?
Consult the official "Porting Guide":http://qt-project.org/doc/qt-5.0/qtdoc/portingguide.html and a separate "wiki":http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5.
For most projects the process is pretty straightforward. I've ported a suite of 5 applications (~30 kLOC) in about 2 hours. There are some corner cases where it can take longer, though.
As for using components from Qt4 - that depends. If you can port them to Qt5, you are fine. If you, however, only have access to the binaries (DLLs), then the answer is no: Qt4 and Qt5 are not binary compatible.
What I noticed is problem with Oxygen style on KDE. KDE is compiled with Qt4, so Qt5 can't load Oxygen plugin (Fusion style is default). But those are only "eye" differences. On other platform everything look native
You may also notice that there is quite difference in multimedia. There is no phonon in Qt5 (finally!)