ROOT-based Qt Applications

Hi Everyone,
I tried the example at page 425 of the ROOT manual but I noticed some problems: when right-clicking on the Canvas, the pop-up menu behaves not properly: it is just an empty grey square. Sometimes (if I vary the Canvas size) the various options appear after a while but I cannot click on them.

I notice in a past thread that it exists a package QtROOT to download but, since I want to use my QT application as a framework for the collaboration, I do not want to ask everybody to install this QtROOT, this will be a complication.

Anybody noticed this problem? Is there any simple work-around (o some simple dirty solution) to make it work more properly?

I’m using ROOT 5.28 and Qt 4.6.2…

cheers

Michele

I’ve also noticed the problem while using Qt in ROOT (all tests done on Windows). Unfortunately I’m not aware of any tricks to make it work.

I am begging a pardon offering some bla-bla -bla instead of the concrete technical solution. However, sometimes, that helps too. Let me try…

Some history,

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 :frowning: :

  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 :smiley: . 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 :smiley: .

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 :frowning: .

  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 :smiley: .

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) 

'TO DO: . . . 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.

Hi everybody,

I know I’m bringing back to the surface and old topic, and I don’t want to open again discussions that have probably been raised many times… just one short question, yes or no: has the situation changed in the past 17 months? I’m referring to the right-click context menu…
I’m using Ubuntu 12.04 and 14.04, Qt4 and ROOT 5.34/18.

Thank you in advance! :smiley: