[pygtk] image on a Button
John Finlay
finlay at moeraki.com
Wed Sep 30 15:02:41 WST 2009
Gorse Emmanuel wrote:
> Thanks for the answer.
>
> I'm checking the imgFullFile with os.path.exists() before loading it,
> so the absolute path of the image is correct.
>
> As img.set_from_file() doesn't raise an exception when it can't load
> the file, i've tried with this:
>
> img = gtk.Image()
> pixBuf = gtk.gdk.pixbuf_new_from_file(imgFullFile)
> img.set_from_pixbuf(pixBuf)
> button.set_image(img)
>
> and gtk.gdk.pixbuf_new_from_file() didn't raise an exception, but the
> image is still not displayed.
>
> Furthermore, i'm also using an IconView to display the images, and
> they are displayed just fine. The code is:
> store = gtk.ListStore(str, gtk.gdk.Pixbuf)
> for name in xxx:
> pixbuf = gtk.gdk.pixbuf_new_from_file(imgFullFile)
> store.append([name, pixbuf])
>
> So the image loading seems fine but images don't get displayed on the buttons...
>
> 2009/9/30, sandbox_mail <sandbox_mail at yahoo.de>:
>
>> I did not try it out but my first guess is: the image is not found in
>> Windows due to the different path syntax.
>>
>> In linux you will have a path like /home/user/picture.jpg but in windows
>> 1.) there is no /, instead \ is used
>> 2.) absolute paths start at the drive letter like C:\Users\picure.jpg
>>
>> I believe python's "os" module will help you build the correct paths
>> depending on which system the code is running.
>>
>> Gorse Emmanuel wrote:
>>
>>> Hye,
>>>
>>> I'm using this code to display an image on a button:
>>>
>>> img = gtk.Image()
>>> img.set_from_file(imgFullFile)
>>> button.set_image(img)
>>>
>>> with imgFullFile beeing the absolute path of the image.
>>>
>>> The code works fine under Linux, but the image is not displayed under
>>> Windows.
>>> Do you have any idea why ?
>>>
>>>
Try adding:
img.show()
John
More information about the pygtk
mailing list