Pages : 1
#1 Le 18/07/2006, à 17:54
- Arrrakis
[Résolu]question bète sur pygtk
Bonjour,
Je viens de me mettre au tutoriel de John Finlay sur pygtk mais j'ai un leger problème :
Il connait le module pygtk mais pas les widgets qu'il y a dedans :
# -*- coding: utf-8 -*-
#!/usr/bin/env python
from pygtk import *
pygtk.require('2.0')
import gtk
w=Window()
b=Button('Hello')
w.add(b)
def hello(b):
print "Hello, World!"
b.connect('clicked', hello)
w.show_all()
execution:
Traceback (most recent call last):
File "/home/bobo/Desktop/f.py", line 5, in -toplevel-
pygtk.require('2.0')
NameError: name 'pygtk' is not defined
Kesskifokjefé ?
Dernière modification par Arrrakis (Le 19/07/2006, à 20:55)
Hors ligne
#2 Le 18/07/2006, à 20:11
- Blackestmajor
Re : [Résolu]question bète sur pygtk
sudo apt-get libwxgtk-2.6-0 et libwxgtk-2.6-dev (vérifie dans synaptic en tapant wxgtk j'ai ptet inversé un . et un -)
Dernière modification par Blackestmajor (Le 18/07/2006, à 20:11)
Hors ligne
#3 Le 18/07/2006, à 20:25
- Arrrakis
Re : [Résolu]question bète sur pygtk
Merci a toi mais ca n'a rien changé.
J'ai exactement la même erreur.
Hors ligne
#4 Le 18/07/2006, à 22:03
- Crashforburn
Re : [Résolu]question bète sur pygtk
Installes pythongtk2-dev (et ses dépendances ^^) par synaptic ou apt-get
Un blog inutile de plus : http://crashforburn.free.fr/dotclear/
[Membre du club des beaux Ubunteros] : http://forum.ubuntu-fr.org/viewtopic.php?pid=535299
Contre la nouvelle année, votons fonacon : http://www.fonacon.net/
Hors ligne
#5 Le 19/07/2006, à 00:05
- marcounet
Re : [Résolu]question bète sur pygtk
# -*- coding: utf-8 -*- #!/usr/bin/env python from pygtk import * pygtk.require('2.0') import gtk
Non, à mon avis c'est la ligne d'import de pygtk qui pose problème.
Soit on fait ceci :
import pygtk
pygtk.require('2.0')
Soit on fait cela :
from pygtk import *
require('2.0')
Mais on ne mélange pas les deux
C'est une histoire de namespace. Dans le second cas, "require" est importé dans le namespace du module principal et il ne faut donc plus le préfixer du nom du module "pygtk."
Dernière modification par marcounet (Le 19/07/2006, à 00:06)
Marcounet des Brumes
Hors ligne
#6 Le 19/07/2006, à 17:29
- Arrrakis
Re : [Résolu]question bète sur pygtk
euh, j'ai installé python-gtk2-dev et j'ai modifié mon programme :
from pygtk import *
require('2.0')
import gtk
ca n'a rien changé du tout
Hors ligne
#7 Le 19/07/2006, à 20:27
- mccricri
Re : [Résolu]question bète sur pygtk
Pourtant la solution de marcounet était la bonne.
As-tu le même message d'erreur ? (ce qui m'étonnerait)
Hors ligne
#8 Le 19/07/2006, à 20:33
- marcounet
Re : [Résolu]question bète sur pygtk
ca n'a rien changé du tout
Ce n'est pas vrai,
car maintenant tu devrais avoir comme message :
name 'Window' is not defined
c'est parce que tu dois mettre "gtk." devant.
La façon suivante ne génère aucune erreur:
from pygtk import *
require('2.0')
from gtk import *
w=Window()
b=Button('Hello')
w.add(b)
def hello(b):
print "Hello, World!"
b.connect('clicked', hello)
w.show_all()
Mais de toute façons ton programme ne fait absolument rien car il n'y a même pas d'appel à gtk.main().
Fais le tutoriel jusqu'au bout en faisant attention !
Dernière modification par marcounet (Le 19/07/2006, à 20:35)
Marcounet des Brumes
Hors ligne
#9 Le 19/07/2006, à 20:54
- Arrrakis
Re : [Résolu]question bète sur pygtk
D'accord, moi je pensais que les widgets etaient dans pygtk, mais je ne savais pas du tout a quoi servait d'importer gtk.
Ok j'ai compris
Mais de toute façons ton programme ne fait absolument rien car il n'y a même pas d'appel à gtk.main().
Fais le tutoriel jusqu'au bout en faisant attention ! smile
bin en fait j'ai recopié le 1er exemple de script :
moe: 96:1095$pygtkconsole.py
Python 2.2.2, PyGTK 1.99.14 (Gtk+ 2.0.6)
Interactive console to manipulate GTK+ widgets.
>>> w=Window()
>>> b=Button(’Hello’)
>>> w.add(b)
>>> def hello(b):
... print "Hello, World!"
...
>>> b.connect(’clicked’, hello)
5
>>> w.show_all()
>>> Hello, World!
Hello, World!
Hello, World!
>>> b.set_label("Hi There")
>>>
Je test ca plus tard,
Merci.
Dernière modification par Arrrakis (Le 19/07/2006, à 20:56)
Hors ligne