-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
John Finlay wrote:
~ > I forgot to mention that since a gdk.Pixmap is also a gdk.Drawable you
| can use the same drawing methods on it as on the gdk.Window of the
| DrawingArea.
|
| john
Thanks, I think I'll use a gdk.Pixmap instead of gdk.Drawable because I
might want to do gdk.Pixmap.get_from_file in the future. The code was
working showing the image, then I changed something, and now I cannot
make it work. I have created several gtk.Image's with glade and I just
want to draw into one of them. "image0" is the name of one of my
gtk.Images. Here is the code in app.__init__:
~ self.im = self.wTree.get_widget("image0")
~ buf = 64*64*3*['\0']
~ for r in range(64):
~ for g in range(64):
~ buf[64*3*r + 3*g] = chr(r * 4)
~ buf[64*3*r + 3*g + 1] = chr(g * 4)
~ buf[64*3*r + 3*g + 2] = chr(0)
~ imbuf = string.join(buf, '')
~ gc = self.im.style.fg_gc[gtk.STATE_NORMAL]
~ pm = gtk.gdk.Pixmap(self.im.window, 64, 64, 24)
~ pm.draw_rgb_image(gc, 5, 5, 64, 64, gtk.gdk.RGB_DITHER_NONE,
~ imbuf, 64*64*3)
~ self.im.set_from_pixmap(pm, None)
It looks a lot like the tutorial, except I call self.wTree.get_widget to
get the initial object, and I have the extra step of puting the drawable
into the gtk.Image. The error I get is:
Traceback (most recent call last):
~ File "./imops.py", line 142, in ?
~ app=appgui()
~ File "./imops.py", line 64, in __init__
~ imbuf, 64*64*3)
IndexError: rgb_buf is not large enough
If I print len(imbuf) it says 12288, which is 64*64*3. I can even have
it print imbuf and redirect the output to a file, and the data in imbuf
looks correct (binary image data).
The frustrating part is that it was working at one point last night. I
made a few changes I thought would be harmless, and now I cannot get it
to work.
Thanks again,
Bill.
PS, I know this is more of a GTK question, but is it normal to have to
redraw the images whenever I get an expose_event, or should the
gtk.Image take care of that for me? The TextEntry and TextView objects
I have tried seem to do automatically update the text without outside
intervention.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFAfqEnK+wEHl1gwlQRAgT5AKCat+hQIHSLkxRsdQV6ERvSqkBUXgCfeRD7
LDVa3fWG4s/ojOfsBkFZegM=
=tmiB
-----END PGP SIGNATURE-----
_______________________________________________
pygtk mailing list [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/