Diferència entre revisions de la pàgina «QtreGimp»
Salta a la navegació
Salta a la cerca
Línia 1: | Línia 1: | ||
− | Aquest exercici utilitza les llibreries gràfiques Qt | + | [[Fitxer:QtreGimp1.png|400px|float|dreta]] |
+ | |||
+ | Aquest exercici utilitza les llibreries gràfiques Qt per fer un senzill programa de dibuix de figures geomètriques. | ||
+ | Està pensat per ser realitzat en Python mitjançant PyQt, tot i que es pot realitzar igualment en C++ o altres llenguatges que disposin de la llibreria Qt. | ||
− | |||
− | |||
+ | == Requeriments de l'aplicació == | ||
* Ha de poder crear un nombre il·limitat de figures geomètriques. | * Ha de poder crear un nombre il·limitat de figures geomètriques. | ||
+ | * Les figures han de ser al menys quadrats i cercles i de diferents colors. | ||
* Les figures han d'aparèixer en una llista. | * Les figures han d'aparèixer en una llista. | ||
* Les figures s'han de poder crear, esborrar i editar (botons). | * Les figures s'han de poder crear, esborrar i editar (botons). | ||
+ | * Les figures s'han de visualitzar en un display (widget). Les figures s'han de poder disposar en qualsevol punt d'aquest (posició x i y). | ||
+ | MOLT IMPORTANT: PERSISTÈNCIA D'OBJECTES: | ||
* Menú arxiu->desar (gravar en arxiu els objectes). | * Menú arxiu->desar (gravar en arxiu els objectes). | ||
* Menú arxiu->carregar (importar objectes d'arxiu). | * Menú arxiu->carregar (importar objectes d'arxiu). | ||
+ | |||
Opcionalment: | Opcionalment: | ||
* Reordenament de les figures. | * Reordenament de les figures. | ||
+ | * Més figures: triangles, rombes, etc. | ||
+ | * Canviar tamany per amplada i alçada. | ||
+ | * ... | ||
Revisió del 16:25, 17 abr 2013
Aquest exercici utilitza les llibreries gràfiques Qt per fer un senzill programa de dibuix de figures geomètriques.
Està pensat per ser realitzat en Python mitjançant PyQt, tot i que es pot realitzar igualment en C++ o altres llenguatges que disposin de la llibreria Qt.
Contingut
Requeriments de l'aplicació
- Ha de poder crear un nombre il·limitat de figures geomètriques.
- Les figures han de ser al menys quadrats i cercles i de diferents colors.
- Les figures han d'aparèixer en una llista.
- Les figures s'han de poder crear, esborrar i editar (botons).
- Les figures s'han de visualitzar en un display (widget). Les figures s'han de poder disposar en qualsevol punt d'aquest (posició x i y).
MOLT IMPORTANT: PERSISTÈNCIA D'OBJECTES:
- Menú arxiu->desar (gravar en arxiu els objectes).
- Menú arxiu->carregar (importar objectes d'arxiu).
Opcionalment:
- Reordenament de les figures.
- Més figures: triangles, rombes, etc.
- Canviar tamany per amplada i alçada.
- ...
Requisits
Per poder realitzar aquesta pràctica heu de tenir clar conceptes previs sobre Qt, Qt-Designer i de renderització d'un Widget:
- PyQt: pintar dintre d'un widget
- PyQt4: utilitzant Qt Designer
- PyQt4: utilitzant Qt Designer 2: diàlegs i ListWidget
Objectius
- Treballar la persistència amb els menús de desar i carregar. Es recomana utilitzar els shelves de Python.
- Utilitzar nous widgets de la llibreria Qt:
- QListWidget
- QSpinBox
- QComboBox
- QFileDialog
- QColorDialog
Paradigma Model-Vista-Controlador
Aprofundirem en el important paradigma MODEL-VISTA-CONTROLADOR.
- MODEL
- Objecte Dibuix: posx, posy, tamany, forma, color, nom i comentari
- Llista d'objectes "Dibuix". Aquest serà el model de referència.
- VISTA
- QListWidget mostrarà la llista de dibuixos. Cada línia mostrarà el "text" del dibuix (nom).
- Caldrà mantenir aquesta vista actualitzada segons el model (llista dibuixos).
- Display: widget on es "pintaran" els dibuixos.
- QListWidget mostrarà la llista de dibuixos. Cada línia mostrarà el "text" del dibuix (nom).
- CONTROLADOR
- Diàleg d'entrada de dades (veure més avall) per les formes geomètriques
- QColorDialog: per seleccionar el color de l'objecte.
Diàleg d'entrada de dades (amb Qt-Designer)
Es recomana que el feu amb Qt-Designer, accelerarà el procés de creació.
Diàleg de selecció de color (QColorDialog)
Podeu utilitzar l'objecte QColorDialog per seleccionar el color de la figura geomètrica.