Re: [ROOT] ROOT & Qt, Swing, GUIs, Graphics Abstraction

From: Valeri Fine (fine@bnl.gov)
Date: Wed Oct 31 2001 - 03:11:27 MET


Hello Rene,

 Here you are some Qt features I'd  like to call your attention to
 ( vs your "wish list": )
  What I have learned :

Rene > Remember that when discussing GUIs and graphics, we should not discuss
Rene > only GUIs on a local screen. There are many more issues involved.

  See: http://www.trolltech.com/products/qt/modules.html

Rene >  - First, as mentionned by Fons, even if Qt was adopted as a standard, one
Rene >    still has to develop the high level interfaces ROOT-aware such as
Rene >    objects browsers, treeViewers, etc.

     Qt provides very attractive base class QCanvasItem:

     http://doc.trolltech.com/3.0/qcanvasitemlist.html
     http://doc.trolltech.com/3.0/qcanvasitem.html

Rene >  - Graphics is not only graphics on the screen. You may want to run
Rene >    with no GUI in batch mode and still produce PS (or the emerging SVG) files.

  Qt provides the base QPaintDevice class with some subclasses like
  QPrinter, QWidget, QPixmap,  QPicture etc

  http://doc.trolltech.com/3.0/qpaintdevice.html
  http://doc.trolltech.com/3.0/qpicture.html#details
  http://doc.trolltech.com/3.0/qprinter.html


   I'd like to call your attention to QPrinter / QPicture classes.
   That is what one needs for  the batch job.

  See:  http://doc.trolltech.com/3.0/qprinter.html#setOutputToFile

Rene >  - Graphics is not only 2-d graphics. When dealing with 3-D, there are
Rene >    also other considerations to be taken into account.

  Qt does provide QGLWidget

   See:
http://www.trolltech.com/images/showimg.html?img=/images/screenshots/GLscreenshot.jpg&tit=OpenGL+module&bk=/products/qt/modules.
html

   See:   http://www.trolltech.com/products/qt/modules.html#opengl
              http://doc.trolltech.com/3.0/qglwidget.html

  and there is QT-based free implementation of  OpenInventor  library.

   See: http://oss.sgi.com/projects/inventor/
            http://www.studierstube.org/openinventor/

 I'd like  to mention the GL graphics is reasobale fast for the local screen backed by
  the hardware 3D  accelerator.
 So one still needs TPad-like wired 3D graphics too (for UNIX platform at least)

Rene >  - GUis and graphics can be used in a client-server mode (was the success
Rene >    and simplicity of the X11 approach).

    My personal impression this is one of the Qt goals. Just think about:

    http://doc.trolltech.com/3.0/qvfb-qws.html

So Qt is pretty attractive, however it is not mandatory to change ROOT to be able to use
Qt. This can be done the way Go4 does. I mean ROOT graphics is provided by TVIrtualX
implementation the rest GUI  with Qt.  In fact it is the way QGLWidget works.

                                  Cheers,  Valeri



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:05 MET