• # Déjà...

    Posté par (site web personnel, Mastodon) . En réponse au message PyGtk - dessiner dans une fenêtre. Évalué à 2.

    Commence par rajouter un window.add (drawing_area), parce que sinon tu ne vas pas dessiner grand chose :-)

    Ensuite, il faut te connecte au signal "expose-event", et que tu mettes ton code qui dessine dans cette zone dans la callback de gestion de cet évènement.

    Exemple en C:
    gboolean
    on_drawing_area_expose_event (GtkWidget *widget,
    GdkEventExpose *event,
    gpointer data)
    {
    GdkPixbuf *pixbuf = data;
    gdk_draw_pixbuf (widget->window,
    widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
    pixbuf,
    0, 0, 0, 0,
    -1, -1,
    GDK_RGB_DITHER_NONE,
    0, 0);
    return TRUE;
    }


    Tu as la doc python sur:
    http://www.pygtk.org/docs/pygtk/class-gtkdrawingarea.html

    Tu peux aussi regarder comment c'est fait en C dans l'exemple livré avec GTK: lance gtk-demo, et regarde l'exemple "Drawing Area". Tu auras un exemple exécutable avec son code source détaillé. Si tu veux juste le source, regarde ici:
    http://svn.gnome.org/viewvc/gtk%2B/trunk/demos/gtk-demo/draw(...)