|  | app = QtGui.QApplication(sys.argv) |  | app = QtGui.QApplication(sys.argv) | 
            |  | main = MainWindow() |  | main = MainWindow() | 
            |  | main.show() |  | main.show() | 
            |  | sys.exit(app.exec_()) |  | sys.exit(app.exec_()) | 
            |  |  |  |  | 
            | t |  | t | .. img:: 7 | 
            |  |  |  | :nolink: | 
            |  |  |  |  | 
            |  |  |  | Andiamo ad analizzare le parti salienti del codice | 
            |  |  |  | ::: | 
            |  |  |  |  | 
            |  |  |  | app = QtGui.QApplication(sys.argv) | 
            |  |  |  | main = MainWindow() | 
            |  |  |  | main.show() | 
            |  |  |  | sys.exit(app.exec_()) | 
            |  |  |  |  | 
            |  |  |  | La prima istruzione inizializza PyQt4, e deve esse | 
            |  |  |  | re sempre posta all'inizio di ogni codice. | 
            |  |  |  | Alle due righe successive, main viene inizializzat | 
            |  |  |  | o come oggetto *MainWindow*, quindi “contenente” t | 
            |  |  |  | utti i widgets che abbiamo inizializzato nel costr | 
            |  |  |  | uttore della classe. A questo punto il metodo *sho | 
            |  |  |  | w()* serve a mostrare a schermo la finestra e tutt | 
            |  |  |  | o il resto. Ogni *QWidget* ha una serie di metodi | 
            |  |  |  | predefiniti, come ad esempio *show()*, per le oper | 
            |  |  |  | azioni più comuni, e vedremo i più importanti stra | 
            |  |  |  | da facendo. L'ultima istruzione, infine, serve a “ | 
            |  |  |  | congelare” la finestra. Se manca, appena finito di | 
            |  |  |  | visualizzare tutti i widget il programma si chiud | 
            |  |  |  | erà, e voi non avrete tempo di visualizzare nulla. | 
            |  |  |  |  | 
            |  |  |  |  | 
            |  |  |  | Primo widget | 
            |  |  |  | ############# | 
            |  |  |  |  | 
            |  |  |  | Chi non ha mai usato librerie grafiche si chiederà | 
            |  |  |  | cosa sono i widgets. I widgets sono tutti gli “og | 
            |  |  |  | getti” che si possono inserire in una finestra: pu | 
            |  |  |  | lsanti, checkboxes, edit boxes, orologi, barre di | 
            |  |  |  | stato e moltissimi altri. Dato l'elevato numero di | 
            |  |  |  | widget esistenti, non saranno trattati tutti in q | 
            |  |  |  | uesto tutorial. Mi limiterò ad utilizzarne alcuni, | 
            |  |  |  | i più comuni od utili; per conoscerne altri è opp | 
            |  |  |  | ortuno consultare la reference: | 
            |  |  |  | http://www.riverbankcomputing.co.uk/static/Docs/Py | 
            |  |  |  | Qt4/html/classes.html:: | 
            |  |  |  |  | 
            |  |  |  | #!/usr/bin/python | 
            |  |  |  |  | 
            |  |  |  | import sys | 
            |  |  |  | from PyQt4 import QtGui, QtCore | 
            |  |  |  |  | 
            |  |  |  | class MainWindow(QtGui.QMainWindow): | 
            |  |  |  | def __init__(self): | 
            |  |  |  | QtGui.QMainWindow.__init__(self) | 
            |  |  |  |  | 
            |  |  |  | self.setWindowTitle('Pulsanti') | 
            |  |  |  |  | 
            |  |  |  | button = QtGui.QPushButton('Quit') | 
            |  |  |  | ; | 
            |  |  |  | button.setFont(QtGui.QFont("Times" | 
            |  |  |  | , 10, QtGui.QFont.Bold)); | 
            |  |  |  | self.connect(button, QtCore.SIGNAL | 
            |  |  |  | ('clicked()'), QtCore.SLOT('close()')); | 
            |  |  |  |  | 
            |  |  |  | self.setCentralWidget(button); | 
            |  |  |  |  | 
            |  |  |  | app = QtGui.QApplication(sys.argv) | 
            |  |  |  | main = MainWindow() | 
            |  |  |  | main.show() | 
            |  |  |  | sys.exit(app.exec_()) | 
            |  |  |  |  |