PyQt: Tutorial per iniziare

qttutorial

Ritorna alla pagina <-- Modifica precedente | Modifica successiva -->

Sommario diffierenze
Titolo PyQt: Tutorial per iniziare (WORK IN PROGRESS) PyQt: Tutorial per iniziare (WORK IN PROGRESS)
Data 2009-10-10 16:41:53 2009-10-10 16:47:34
Autore shainer shainer
Tags

2009-10-10 16:41:53 di shainer
2009-10-10 16:47:34 di shainer
41  app = QtGui.QApplication(sys.argv)41  app = QtGui.QApplication(sys.argv)
42  main = MainWindow()42  main = MainWindow()
43  main.show()43  main.show()
44  sys.exit(app.exec_())44  sys.exit(app.exec_())
4545
tt46.. img:: 7
47   :nolink:
48
49Andiamo ad analizzare le parti salienti del codice
 >:::
50
51  app = QtGui.QApplication(sys.argv)
52  main = MainWindow()
53  main.show()
54  sys.exit(app.exec_())
55
56La prima istruzione inizializza PyQt4, e deve esse
 >re sempre posta all'inizio di ogni codice.
57Alle 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.
 >
58
59Primo widget
60#############
61
62Chi 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:
63http://www.riverbankcomputing.co.uk/static/Docs/Py
 >Qt4/html/classes.html::
64
65  #!/usr/bin/python
66
67  import sys
68  from PyQt4 import QtGui, QtCore
69
70  class MainWindow(QtGui.QMainWindow):
71      def __init__(self):
72                QtGui.QMainWindow.__init__(self)
73
74                self.setWindowTitle('Pulsanti')
75                
76                button = QtGui.QPushButton('Quit')
 >;
77                button.setFont(QtGui.QFont("Times"
 >, 10, QtGui.QFont.Bold));
78                self.connect(button, QtCore.SIGNAL
 >('clicked()'), QtCore.SLOT('close()'));
79                
80                self.setCentralWidget(button);
81        
82  app = QtGui.QApplication(sys.argv)
83  main = MainWindow()
84  main.show()
85  sys.exit(app.exec_())
86