[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