No announcement yet.

Qt 6.0 Might Be Coming After Qt 5.14, Could Depend Upon C++17

  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by carewolf View Post

    The example in that blog was using simple things, Qt always strives to make the 90% simple and the rest possible. One big problem with the Qt3 to Qt4 upgrade was the redesign of model-control-view, where it was heavily integrated in monolithic classes in Qt 3, but was split apart in more flexible classes in Qt 4. This splitting apart meant that applictations using the model-view Qt3 classes had to do some refactoring. Other classes went into Qt3Support like containers with auto-delete of containted pointers, which you had to port away from if you wanted to avoid libqt3support, or at the latest when upgrading to qt 5. For most applications this was not a problem, but for a few it was either tough, or just non-trivial in semi-dead project, which made it tough for the Qt project as some Qt-using applications lacked for a long time.

    Btw. For KDE4 specfically. The biggest problem was not the changes in Qt. The biggest problem was that the build system was changed at the same time as Qt, which meant that many modules needed both changes to combile with new Qt, and have a new build system written, and fixing just one wouldn't build (couldn't upgrade to Qt4 because there was no build system, writing the build system was hard because it wouldn't compile anyway), making development blind and untestable. The lesson was that you shouldn't upgrade two key things at once. Which of course KDE then did again with KDE5
    Last edited by carewolf; 06-15-2018, 05:53 AM.


    • #22
      Originally posted by Calinou View Post

      Out of curiosity, which applications are those? I don't think I'm currently using any Qt 4 applications, although that was the case for me back in 2015-2016.
      I made some upgrades while investigating this. My keepass manager was using qt4, but I switced to keepassxc now. I had few small Python program depend on kde / qt4 libs. x2goclient was depending on qt4. I had somehow compiled few programs with qt4 even though they supported qt5 (e.g. LyX).