I'm in the process of upgrading the tutorial to GTK+ 2.0. It looks like you have to draw on a drawable which is a pixmap or window. A drawingarea has a window accessed as drawingarea.window.

Your rewritten test case is:

#!/usr/bin/env python2

# Draw a blue rectangle on DrawingArea, that's all

import gtk
import string

def area_expose_cb(area, event):
global gc

gc = area.get_style().fg_gc[gtk.STATE_NORMAL]
gc.foreground = blue
area.window.draw_rectangle(gc, gtk.TRUE, 50, 50, 100, 50)

if __name__ == "__main__":
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("drawing test example")
window.connect("destroy", gtk.mainquit)
area = gtk.DrawingArea()
width = 400; hight = 300
area.set_size_request(width, hight)
window.add(area)
colormap = area.get_colormap()
blue = colormap.alloc_color(0, 0, 65535)
area.connect("expose-event", area_expose_cb)
area.show()
window.show()

gtk.mainloop()

John

Viktor Hornak wrote:

Hello,

I am new to pygtk but was very excited to find out about it. It seemed
like the easiest way to get started with some simple graphics programs. I found an excellent tutorial (with example for DrawingArea) at:
http://www.moeraki.com/pygtktutorial/sec-drawingareamethods.html

The DrawingArea example given on the page would be all that I need right
now to get started. Unfortunately, when I upgraded my RedHat7.3
(python1.5, gtk+) to 8.0 (python2.2, gtk2+) things weren't working
according to tutorial any more. That's quite understandable, but they
don't seem to work even after I rewrote things according to FAQ-2.3
(migrating from PyGTK-0 to PyGTK-2). All I need is to get the basic
DrawingArea methods to work in PyGTK2. Here is how I rewrote a simple
test example (based on the above given tutorial):

_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Reply via email to