ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
QtPrintDialog.C File Reference

This is a small ROOT macro to use Qt 3.3 class: QPrinter to setup the printer via Qt "setup printer dialog" See: Printer setup dialog box and print out the ROOT TCanvas object either via the "can" pointer provided or the current one. More...

Go to the source code of this file.

Detailed Description

This is a small ROOT macro to use Qt 3.3 class: QPrinter to setup the printer via Qt "setup printer dialog" See: Printer setup dialog box and print out the ROOT TCanvas object either via the "can" pointer provided or the current one.

To use, invoke ACLiC from the ROOT prompt:

root [] .x QtPrintDialog.C++

To use it with no ACLiC, omit the trailing "++"

root [] .x QtPrintDialog.C

The full list of the Qt classes available from Cint is defined by by $ROOTSYS/cint/lib/qtclasses.h

All Qt classes can be used from ACLiC though.

#ifndef __CINT__
# include <QPrintDialog>
# include <QPrinter>
# include <QPainter>
# include <QPixmap>
# include <TCanvas.h>
# include <TGQt.h>
#endif
void QtPrintDialog(TVirtualPad *pad = 0) {
#ifdef __CINT__
// Load the qt cint dictionary.
// One is recommended to do that at once somewhere.
// For example from one's custom rootlogon.C script
gSystem->Load("$ROOTSYS/cint/cint/include/qtcint");
#endif
if (!pd) pd = TPad::Pad(); // ->GetCanvas();
if (pd) {
QPrinter p;
// Open the Qt "Setup Printer" dialog to configure the "QPrinter p" object
QPrintDialog printDialog(&p);
if (printDialog.exec() == QDialog::Accepted) {
Int_t id = pd->GetPixmapID();
QPixmap *pix = (QPixmap *)(TGQt::iwid(id));
QPainter pnt(&p);
pnt.drawPixmap(0,0,*pix);
}
} else {
printf(" No TCanvas has been selected yet! \n");
}
}
Author
Valeri Fine 23/03/2006

Definition in file QtPrintDialog.C.