Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.16/01
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Namespaces
qtexample.py File Reference

Namespaces

namespace  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 !'
th1 Draw()
Author
Wim Lavrijsen

Definition in file qtexample.py.