Diferència entre revisions de la pàgina «Python: GUI»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 19: Línia 19:
 
* Altres tutorials Python (i Ruby, etc.): http://techbase.kde.org/Development/Tutorials#Other_programming_languages
 
* Altres tutorials Python (i Ruby, etc.): http://techbase.kde.org/Development/Tutorials#Other_programming_languages
 
* Referències de les tecles en Qt: http://doc.qt.nokia.com/4.7/qt.html#Key-enum
 
* Referències de les tecles en Qt: http://doc.qt.nokia.com/4.7/qt.html#Key-enum
 +
<br>
  
=== Tutorials ===
+
=== Pas a pas... ===
* Creació de l'aplicació, barres de menús i d'estat.
+
# Creació de l'aplicació, barres de menús i d'estat.
** Utilitzant el [http://zetcode.com/tutorials/pyqt4/firstprograms/ tutorial "First programs" de zetcode] fes:
+
#* Utilitzant el [http://zetcode.com/tutorials/pyqt4/firstprograms/ tutorial "First programs" de zetcode] fes:
**# Un widget amb 3 botons col·locats a diferents llocs de la pantalla (parteix de l'exemple del "Showing a tooltip").
+
#*:NOTA: ves afegint cada pas en el mateix arxiu.
**# Connecta un dels botons (que es digui "exit") a la sortida del programa (exit).
+
#*# Un widget amb 3 botons col·locats a diferents llocs de la pantalla (parteix de l'exemple del "Showing a tooltip").
**# Afegeix un diàleg per confirmar la sortida del programa (exemple "Message box").
+
#*# Connecta un dels botons (que es digui "exit") a la sortida del programa (exit).
* Layouts
+
#*# Afegeix un diàleg per confirmar la sortida del programa (exemple "Message box").
* Widgets
+
# Layouts:
* Signals i slots
+
#* Revisa els [http://zetcode.com/tutorials/pyqt4/layoutmanagement/ exemples de layouts (absolut, box i grid)] i fes (en un sol arxiu):
* Pintar en un widget
+
#*# Un grid layout on col·loquis botons en una matriu de 3x3 utilitzant 1 sol bucle (els botons no cal que facin res).
* [[Joc del mur amb Python]]
+
#*# Fes aquesta matriu de NxN parametritzable (N s'ha de poder definir com a constant al principi del programa).
* [[Utilitzant QtDesigner amb PyQt4]]
+
# Widgets, signals i slots
 +
#* Revisa els [http://zetcode.com/tutorials/pyqt4/eventsandsignals/ exemples de signals i slots] i fes (en un sol arxiu):
 +
#*# Un widget com el següent utilitzant un grid layout:
 +
#*# Connecta els sliders al ''text view''. Quan hi hagi un canvi als ''sliders'' s'ha d'escriure una línia al text view indicant el valor que ha pres el ''slider'' (i si és el X-horitzontal o el Y-vertical).
 +
# Pintar en un widget
 +
# [[Joc del mur amb Python]]
 +
# [[Utilitzant QtDesigner amb PyQt4]]
  
 
<br>
 
<br>

Revisió del 17:13, 10 gen 2013

Hi ha multitud de llibreries per GUI en Python. En destaquem dues (multiplataforma les dues):

  • PyQt
  • PyGTK

En aquest curs hem triat PyQt4 per treballar. No està gaire clar el futur d'aquesta llibreria, primerament va pertànyer a l'empresa Trolltech i després va passar a Nokia on va ser força utiltizada pel desaparegut SO per mòbils Symbian. Sempre ha tingut un gran suport per aplicacions de codi obert.

GTK és una llibreria pertanyent al projecte GIMP (GTK = Gimp Tool Kit). És la llibreria utilitzada per defecte en Gnome.

La raó de la tria de Qt sobre GTK és degut a raons d'estil i de formalitat de la biblioteca.


QT

Llibreria Qt (abans de Trolltech, ara de Nokia):


Pas a pas...

  1. Creació de l'aplicació, barres de menús i d'estat.
    • Utilitzant el tutorial "First programs" de zetcode fes:
      NOTA: ves afegint cada pas en el mateix arxiu.
      1. Un widget amb 3 botons col·locats a diferents llocs de la pantalla (parteix de l'exemple del "Showing a tooltip").
      2. Connecta un dels botons (que es digui "exit") a la sortida del programa (exit).
      3. Afegeix un diàleg per confirmar la sortida del programa (exemple "Message box").
  2. Layouts:
    • Revisa els exemples de layouts (absolut, box i grid) i fes (en un sol arxiu):
      1. Un grid layout on col·loquis botons en una matriu de 3x3 utilitzant 1 sol bucle (els botons no cal que facin res).
      2. Fes aquesta matriu de NxN parametritzable (N s'ha de poder definir com a constant al principi del programa).
  3. Widgets, signals i slots
    • Revisa els exemples de signals i slots i fes (en un sol arxiu):
      1. Un widget com el següent utilitzant un grid layout:
      2. Connecta els sliders al text view. Quan hi hagi un canvi als sliders s'ha d'escriure una línia al text view indicant el valor que ha pres el slider (i si és el X-horitzontal o el Y-vertical).
  4. Pintar en un widget
  5. Joc del mur amb Python
  6. Utilitzant QtDesigner amb PyQt4


GTK