Aller au contenu

[Python] Glade et chargement dynamique d'image


Poischack

Messages recommandés

Bonsoir,

ça fait quelques temps que j'ai commencé à apprendre le python et j'ai un soucis pour une interface graphique tres simple:

j'ai une fenetre qui ne contient qu'une image , lors de la création avec glade je n'ai pas donné de lien pour l'image car je veut pouvoir chager ce lien directement dans mon programme python. Cette image s'appelle planning dans glade mais je ne sais pas comment dire à python à quoi corresponds planning à l'intérieur du prog. Mon fichie py ressemble à peu pres à ça:

#!/usr/bin/env python

# Python module emte.py
# Autogenerated from emte.glade
# Generated on Wed Sep 21 23:57:33 2005

# Warning: Do not modify any context comment such as #--
# They are required to keep user's code

import os

import gtk

from SimpleGladeApp import SimpleGladeApp
from SimpleGladeApp import bindtextdomain

app_name = "emte"
app_version = "0.0.1"

glade_dir = ""
locale_dir = ""

bindtextdomain(app_name, locale_dir)

class Window1(SimpleGladeApp):

   def __init__(self, path="emte.glade",
                root="window1",
                domain=app_name, **kwargs):
       path = os.path.join(glade_dir, path)
       SimpleGladeApp.__init__(self, path, root, domain, **kwargs)
       weeks = 3
planning.set_from_file(weeks() + ".gif")

   def new(self):
       print "A new %s has been created" % self.__class__.__name__

ef main():
   window1 = Window1()
   window1.run()

if __name__ == "__main__":
   main()

et mon glade:

<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">

<glade-interface>

<widget class="GtkWindow" id="window1">
 <property name="visible">True</property>
 <property name="title" translatable="yes">window1</property>
 <property name="type">GTK_WINDOW_TOPLEVEL</property>
 <property name="window_position">GTK_WIN_POS_NONE</property>
 <property name="modal">False</property>
 <property name="resizable">True</property>
 <property name="destroy_with_parent">False</property>
 <property name="decorated">True</property>
 <property name="skip_taskbar_hint">False</property>
 <property name="skip_pager_hint">False</property>
 <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
 <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
 <property name="focus_on_map">True</property>
 <signal name="destroy" handler="gtk_main_quit" last_modification_time="Wed, 21 Sep 2005 21:52:54 GMT"/>

     <child>
       <widget class="GtkImage" id="planning">
         <property name="width_request">863</property>
         <property name="height_request">500</property>
         <property name="visible">True</property>
         <property name="xalign">0.5</property>
         <property name="yalign">0.5</property>
         <property name="xpad">0</property>
         <property name="ypad">0</property>
       </widget>
       <packing>
         <property name="padding">0</property>
         <property name="expand">True</property>
         <property name="fill">True</property>
       </packing>
     </child>

[...]

C'est suffisement clair ? :)

Lien vers le commentaire
Partager sur d’autres sites

Pour python et glade j'utilise un script qui me refile tout les handlers de chaque widget c'est tres pratique et facile à interfacer avec son code, j'ai trouvé l'original ici : http://www.linuxjournal.com/node/7421/print

Tu rajoute un evenement sur ton image avec glade et apres à toi de reprendre l'exemple et de le refaconner à ta maniere.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...