Partage
  • Partager sur Facebook
  • Partager sur Twitter

Héritage gtk.Notebook

Sujet résolu
    20 mars 2011 à 22:44:10

    Bonjour,
    je débute en python et je cherche à créer une class qui hérite de gtk.notebook afin de pouvoir gérer mes divers onglets dans cette class
    sans trop charger mon fichier d'interface principale.
    Et je dois vous avouer que j'avance a taton :-°
    Lorsque que je veut ajouter mon "notebook" maison à un conteneur j'ai une erreur:
    principale.py:76: GtkWarning: IA__gtk_paned_pack2: assertion `GTK_IS_WIDGET (child)' failed
    conteneur.pack2(self.onglets, resize=True, shrink=False)
    


    Alors voici ma class qui est "censée" :p gérer mes onglets:
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import pygtk
    pygtk.require("2.0")
    import gtk
    from sql import *
    import sys
    
    class Onglets(gtk.Notebook):
    
    	def __init__(self):
    		self = gtk.Notebook()
    		self.set_tab_pos(gtk.POS_TOP)
    		
    
    	def newTab(self, widget, style):
    		switch = {
    		"Produits": self.tabProduit
    		}
    		
    		switch[style]()
    	
    		
    		
    	
    	def tabProduit(self):
    		req = Sql()
    		result = req.query("SELECT ref, designation, stock, prix FROM produits")
    		
    			
    
    		store = gtk.ListStore(str, str, int, str)
    		
    		
    
    		for row in result:
    			ref = row[0].decode('latin1').encode('utf-8')
    			designation = row[1].decode('latin1').encode('utf-8')
    			
    			store.append([ref, designation, row[2], '%.2f €' % row[3]])
    
    		treeView = gtk.TreeView(store)
    		treeView.set_rules_hint(True)
    		rendererText = gtk.CellRendererText()
    		column = gtk.TreeViewColumn("Réf.", rendererText, text=0)
    		column.set_sort_column_id(0)
    		column.set_expand(True)  
    		column.set_resizable(True)  
    		treeView.append_column(column)
    
    		rendererText = gtk.CellRendererText()
    		column = gtk.TreeViewColumn("Désignation", rendererText, text=1)
    		column.set_sort_column_id(1)
    		column.set_expand(True)
    		column.set_resizable(True)
    		treeView.append_column(column)
    
    		rendererText = gtk.CellRendererText()
    		column = gtk.TreeViewColumn("Stock", rendererText, text=2)
    		column.set_sort_column_id(2)
    		column.set_expand(True)
    		column.set_resizable(True)
    		treeView.append_column(column)
    		
    		rendererText = gtk.CellRendererText()
    		column = gtk.TreeViewColumn("Prix", rendererText, text=3)
    		column.set_sort_column_id(3)
    		column.set_expand(True)
    		column.set_resizable(True)
    		treeView.append_column(column)
    
    		return treeView
    


    Et voila le code qui instancie la class :

    self.onglets = Onglets()
    ...
    conteneur.pack2(self.onglets, resize=True, shrink=False)
    


    Pourriez vous m'aider parce que je vous avoue que je suis un peu carrément paumé :)
    Je suis ouvert a toute critique sur mon code mais je débute alors pas trop dur les critiques :p
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 mars 2011 à 23:21:57

      self = gtk.Notebook()
      


      Je connais pas notebook, mais ce qui est sûr c'est qu'il y a une erreur!

      essai plutôt ce genre de chose


      gtk.notebook.__init__(self)
      


      Toi tu dois venir du C :-°
      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2011 à 11:08:09

        BOnjour,
        merci de ta réponse mon pc a cramer donc pas moyen de tester :colere:
        Je te dis si ca marche

        PS : Nan je vient du php :ange:
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          22 mars 2011 à 11:21:40

          Sache qu'il y aura d'autres erreurs, mais j'attend tes messages d'erreurs
          • Partager sur Facebook
          • Partager sur Twitter
            26 mars 2011 à 15:11:29

            Tu avais raison même après avoir effectué le changement j'ai eu des soucis.
            Mais en cherchant un peut ca marche maintenant :)
            Un grand merci sans toi je pense que j'aurais mouliné un moment :-°
            • Partager sur Facebook
            • Partager sur Twitter

            Héritage gtk.Notebook

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown