GTK , glade et couleur
Réponses:
0
Visites:
0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum.
Inscrivez-vous maintenant
GTK , glade et couleur
Posté par
geka
le
04/02/2010 15:41
bonjour,
je suis nouveau sur le forum, et je débute en python avec GTK. voila mon probleme : j'ai fait un petit programme pour tracer un carre de couleur dans une fenetre, mais je n'arrive pas à changer la couleur des points traces je n'ai surement pas tout compris dans l'utilisation des contextes graphiques. merci de votre aide geka /******* voici le fichier test.py : #!/usr/bin/env python import sys try: import pygtk pygtk.require("2.0" except: pass try: import gtk import gtk.glade except: sys.exit(1) class pyWin: def __init__(self): #attache la structure de l'interface creer par Glade au programme self.gladefile="test.glade" self.winTree=gtk.glade.XML(self.gladefile) #cree le dictionnaire des signaux des widgets dic={"on_window1_destroy":self.quitte,"on_button1_clicked":self.test} self.winTree.signal_autoconnect(dic) #cree la fenetre self.laFenetre=self.winTree.get_widget("window1" #cree le canvas de dessin self.leCanvas=self.winTree.get_widget("feuille" self.laFeuille=self.leCanvas.window self.pangolayout = self.leCanvas.create_pango_layout("" self.style = self.leCanvas.get_style() self.gc = self.style.fg_gc #fonction appelees par les signaux def quitte(self,widget): gtk.main_quit() def test(self,widget): self.draw() #fonction de dessin def draw(self): color = self.gc.foreground print "ancienne couleur : ",color #color = gtk.gdk.Color(100,100,0,0) color = self.laFeuille.get_colormap().alloc_color(10, 0, 10) print "nouvelle couleur : ",color self.gc.foreground=color color1 = self.gc.foreground print "couleur installee : ",color1 for i in range(10): for j in range(10): self.laFeuille.draw_point(self.gc,i,j) return True if __name__=="__main__": window01=pyWin() gtk.main() *****/ /***** et voici le fichier test.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> <property name="urgency_hint">False</property> <signal name="destroy" handler="on_window1_destroy" last_modification_time="Thu, 04 Feb 2010 07:48:15 GMT"/> <child> <widget class="GtkVBox" id="vbox1"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">0</property> <child> <widget class="GtkButton" id="button1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="label" translatable="yes">button1</property> <property name="use_underline">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> <property name="focus_on_click">True</property> <signal name="clicked" handler="on_button1_clicked" last_modification_time="Thu, 04 Feb 2010 07:49:04 GMT"/> </widget> <packing> <property name="padding">0</property> <property name="expand">False</property> <property name="fill">False</property> </packing> </child> <child> <widget class="GtkDrawingArea" id="feuille"> <property name="width_request">400</property> <property name="height_request">400</property> <property name="visible">True</property> </widget> <packing> <property name="padding">0</property> <property name="expand">True</property> <property name="fill">True</property> </packing> </child> <child> <placeholder/> </child> </widget> </child> </widget> </glade-interface> *****/ voici ce que me donne la console : ancienne couleur : #000000005840 nouvelle couleur : #000a0000000a couleur installee : #000000005840 |





