I am begging a pardon offering some bla-bla -bla instead of the concrete technical solution. However, sometimes, that helps too. Let me try…
The “Qt for ROOT” discussion was started in 1999 (root.cern.ch/root/roottalk/roottalk01/4026.html )
That proves that there is no technical problem to provide the reliable up-to-date QtRoot version to build the cost effective applications encompassing the power of the two great software systems like Qt and ROOT for all platforms supported by ROOT team. However . . .
Bad news :
The Qt version from CERN repository contains only the smallest part of the QtRoot code and it was not meant <img src="/uploads/default/original/2X/9/95086c44a6d6e15518f9051f135a3de48bdad392.gif" width="20" height="16" alt="[-X" title="Shame on you"/> to work under Windows. The problem was not the QtRoot implementation per se. To make QtRoot work under Windows the special custom version of TWinNTSystem package was required. This customization of TWinNTSystem had to be done for each ROOT release.
You can see that by browsing the QtRoot repository:
qtroot.svn.sourceforge.net/viewv … winnt/src/ . One may realize that the last custom version of TWinNTSystem was done for ROOT 5.26 (That explains the troubles to use QtROOT under Windows for ROOT > 5.26 ) The good news . One may get some hope with ROOT >5.34 See: HelloCanvas on Qt app using ROOT with VC2010&Qt 4.8.1
One can search this forum to find the hot discussions on issue.
Good news .
Last year the ROOT StreamReader replaced ROOT Getline.C module. That eliminated the main technical reason to customize TWinNTSystem to back the Qt applications.
Bad news .
To be reliable the entire QtROOT (Qt-layer and Qt extension) should be installed. However, the later meant that the ROOT GUI "look and feel" might be different for the different platforms and the users' tastes and goals. On Windows 7 it is windows 7, on MacOS it is Cocoa ( see: ROOT Workshop 2005 [indico.cern.ch/getFile.py/access ... Id=a055638](http://indico.cern.ch/getFile.py/access?contribId=s1t7&sessionId=1&resId=1&materialId=0&confId=a055638) slide 10 ), on Linux it is GDK etc, and all of these with no special code for either platform. Such approach was not supported and that's why the only minimal version of the Qt Root was allowed into the ROOT main stream.
The implementation of the idea (see ROOT Workshop 2002 [ftp://root.cern.ch/root/R2002/Valerin_R ... tation.pdf](ftp://root.cern.ch/root/R2002/Valerin_ROOT_Qt_Presentation.pdf) , slide 7, third bullet ) was not welcome and it was not included into the official ROOT code leaving the TQtWidget "naked". The first ( not last ) problem was the lack of the reliable ROOT Canvas Context Menu implementation. That implementation is a part of QtRoot Extension.
Good News .
The presence of the [ftp://root.cern.ch/root/R2002/Valerin_R ... tation.pdf](ftp://root.cern.ch/root/R2002/Valerin_ROOT_Qt_Presentation.pdf) )
I am wondering if the current ROOT policy on issue was changed and now it is acceptable to provide the platform-based implementation of the ROOT Object Browser and the other ROOT GUI higher level widgets. The later may mean that there is no "policy" constrain to include the entire QtRoot (including the Qt Extension) into the ROOT SVN anymore, and there is a chance to fulfill the "bullet" from my "to do list" . See: ROOT 2005 Workshop [indico.cern.ch/getFile.py/access ... Id=a055638](http://indico.cern.ch/getFile.py/access?contribId=s1t6&sessionId=1&resId=1&materialId=0&confId=a055638)
. . .
Negotiate ROOT team to adopt more project “pieces”
. . .
I hope, the full Qt ROOT can gain enough of the ROOT users support to be included into the ROOT repository to make the life of the QtROOT loyal users including the Qt Windows users and the QtROOT support much simpler and the quality of the ROOT-based Qt end-user applications and QtROOT code higher and up-to-date.