Logo ROOT   6.08/07
Reference Guide
Namespaces
qtexample.py File Reference

Namespaces

 qtexample
 

Detailed Description

Qt example.

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import ROOT
import sip
class window(QMainWindow):
def __init__(self):
# Init the main window.
QMainWindow.__init__(self)
self.resize(350, 350)
# Create the central widget.
self.CentralWidget = QWidget(self)
self.setCentralWidget(self.CentralWidget)
self.Layout = QGridLayout(self.CentralWidget)
# Create a button.
self.QuitButton = QPushButton(self.centralWidget())
self.QuitButton.setText('Quit')
self.Layout.addWidget(self.QuitButton, 1, 0)
# Connect the button.
QObject.connect(self.QuitButton, SIGNAL('clicked()'), self.quit)
# Create a root histogram.
self.hist = ROOT.TH1F("pipo","pipo", 100, 0, 100)
# Create the main TQtWidget (using sip to get the pointer to the central widget).
self.Address = sip.unwrapinstance(self.CentralWidget)
self.Canvas = ROOT.TQtWidget(sip.voidptr(self.Address).ascobject())
ROOT.SetOwnership( self.Canvas, False )
# Place the TQtWidget in the main grid layout and draw the histogram.
self.Layout.addWidget(sip.wrapinstance(ROOT.AddressOf(self.Canvas)[0],QWidget), 0, 0)
self.hist.Draw()
def quit(self):
print 'Bye bye...'
self.close()
ROOT.gApplication.Terminate()
if __name__ == '__main__':
application = qApp
terminator = ROOT.TQtRootSlot.CintSlot()
termAddress = sip.wrapinstance(ROOT.AddressOf(terminator)[0],QObject)
QObject.connect(application, SIGNAL("lastWindowClosed()"),termAddress ,SLOT("Terminate()"))
w = window()
w.show()
ROOT.gApplication.Run(1)
print 'Bye !'
Author
Wim Lavrijsen

Definition in file qtexample.py.