Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/10/2007, à 12:33

Tom_L

Glade/PyGtk/notebook

Bonjour tout le monde,

J'essaie de créer une interface avec Glade 3/PyGtk...

Pour l'instant je fais des trucs de bases...pas de problème tant qu'il s'agit de bouton, label ou autres...
Par contre quand j'essaie de mettre un notebook, j'ai des erreurs.... Voilà un exemple avec seulement une fenêtre et un notebook avec trois onglets (d'ailleurs glade m'empeche d'en mettre moins !??)

Le fichier glade :

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<!--Generated with glade3 3.4.0 on Sat Oct  6 12:30:13 2007 -->
<glade-interface>
  <widget class="GtkWindow" id="window1">
    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    <child>
      <widget class="GtkNotebook" id="notebook1">
        <property name="visible">True</property>
        <property name="can_focus">True</property>
        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
        <child>
          <placeholder/>
        </child>
        <child>
          <widget class="GtkLabel" id="label1">
            <property name="visible">True</property>
            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
            <property name="label" translatable="yes">page 1</property>
          </widget>
          <packing>
            <property name="type">tab</property>
            <property name="tab_fill">False</property>
          </packing>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <widget class="GtkLabel" id="label2">
            <property name="visible">True</property>
            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
            <property name="label" translatable="yes">page 2</property>
          </widget>
          <packing>
            <property name="type">tab</property>
            <property name="position">1</property>
            <property name="tab_fill">False</property>
          </packing>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <widget class="GtkLabel" id="label3">
            <property name="visible">True</property>
            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
            <property name="label" translatable="yes">page 3</property>
          </widget>
          <packing>
            <property name="type">tab</property>
            <property name="position">2</property>
            <property name="tab_fill">False</property>
          </packing>
        </child>
      </widget>
    </child>
  </widget>
</glade-interface>

Le fichier python :

#!/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 application:

    def __init__(self):
               
        #Set the Glade file
        self.gladefile = "appli.glade" 
        self.wTree = gtk.glade.XML(self.gladefile)
               
if __name__ == "__main__":
    hwg = application()
    gtk.main()

J'ai à chaque fois l'erreur :

GtkWarning: gtk_notebook_set_tab_label: assertion `GTK_IS_WIDGET (child)' failed self.wTree = gtk.glade.XML(self.gladefile)

Quelqu'un à une idée du problème ??


~~~~~~
Thomas.

Hors ligne