[Python] pygoocanvas: riferimenti -create/resize/move- di rettangoli
Gian Mario Tagliaretti
gianmt a gnome.org
Sab 20 Set 2008 00:34:43 CEST
On Fri, Sep 19, 2008 at 5:55 PM, Simone <3nomis a gmail.com> wrote:
> Salve,
ciao Simone,
> Tentando di accumulare una base di conoscenze minime per partire ho
> cercato di recuperare quanta più documentazione possibile, fermandomi
> purtroppo alla "sola" guida di riferimento delle API
> locale(ubuntu#8.04: /usr/share/gtk-doc/html/pygoocanvas/index.html)
> che non mi è parsa particolarmente esemplificativa per un
> novellino...
Quello in effetti è un reference manual e quindi spiega solamente il
funzionamento delle API, se mai avrò tempo lo implementerò con
maggiori dettagli.
> Rubando idee agli esempi trovati in rete, sono arrivato a disegnare,
> con qualche dubbio, il mio primo rettangolo.
Ho fatto una caterva di esempi e tu li cerchi in rete? :(
http://svn.gnome.org/viewvc/pygoocanvas/trunk/demo/
oppure sulla tua macchina dovrebbero essere in:
/usr/share/doc/python-pygoocanvas/examples/
> * Uno dei miei dubbi
>
> consultando la guida di riferimento delle API leggo:
>
> rect = goocanvas.Rect(x=100, y=100, width=200, height=100,
> stroke_color="red", fill_color="blue",
> line_width=5.0)
>
> Noto che manca ogni riferimento all'argomento "parent=....". Argomento
> presente in ogni altro esempio da me trovato e che ho incluso nel
> codice di esempio che accodo a questa mail. Le prove/riprove fatte, mi
> hanno portato a pensare che "parent" sia un elemento *necessario* ma
> non ho trovato riferimenti che mi chiariscano cosa sia e come si debba
> correttamente usare.
L'argomento parent si aspetta un goocanvas.Group, di default viene
creato un gruppo alla creazione del canvas canvas.get_root_item(),
l'item ritornato dal metodo è appunto il gruppo da passare a parent,
nulla ti vieta però di mettere un item all'interno di un altro gruppo
successivamente all creazione con item.set_parent(group) o ancora
group.add_child(item)
> * Il secondo scoglio che vorrei superare è quello di capire come
> ridimensionare un rettangolo in fase di creazione. Il mio intento era
> in sintesi di:
>
> 1) Creare un piccolo(1x1 pixel) rettangolo collegato a un evento
> "on_mouse_press".
> 2) Modificare la dimensione del rettangolo creato sfruttando "on_motion_notify".
> 3) Terminare il disegno del rettangolo con "on_button_release".
>
> * L'ultimo scoglio resterà poi quello di spostare il rettangolo creato
> trascinandolo con il mouse.
>
> Qualcuno sarebbe così gentile da suggerirmi qualche riferimento utile
> o del codice?
guarda l'esempio:
/usr/share/doc/python-pygoocanvas/examples/simple_demo/demo.py
e tutti gli altri import.
ciao
--
Gian Mario Tagliaretti
GNOME Foundation member
gianmt a gnome.org
Maggiori informazioni sulla lista
Python