Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[debutant] GTK et Python - probleme de création de fenêtre

3 réponses
Avatar
PM
Bonjour,
Je débute en python et j'essaye tant bien que mal de faire des fenêtres
avec gtk. J'ai beau essayer tous les HelloWorld que je peux trouver sur
internet l'interpréteur me renvoie toujours la même erreur :

window = gtk.Window(gtk.WINDOW_TOPLEVEL)
AttributeError: 'module' object has no attribute 'Window'

Que ce soit avec Python 2.4 ou Python 2.5 pour windows,
j'utilise pygtk (2.10.3 pour py2.5 ou ou 2.10.1 pour py2.4 c'est selon )
Ma version de gtk+ est 2.10.6

Merci pour vos réponses...

PS:
Voici l'un des helloworld qui ne fonctionne pas:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
""" Un simple Hello World, inspiré de la documentation GTK """
import pygtk
pygtk.require('2.0')
import gtk
def hello(*args):
""" La fonction Callback est attachée au bouton """
print "Hello World"
window.destroy()
def destroy(*args):
""" La fonction de Callback qui est activée lorsque l'on ferme le
programme (croix) """
window.hide()
gtk.main_quit()
# Ce bloc crée la fenêtre pricipale
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("destroy", destroy)
window.set_border_width(10)
# Ce bloc crée et place le bouton dans la fenêtre
button = gtk.Button("Hello World")
# On connecte la fonction 'hello' au signal 'clicked' envoyé par le bouton
button.connect("clicked", hello)
window.add(button)
button.show()
# Comme le bouton est dans la fenêtre, il celà montre aussi la fenêtre
window.show_all()
gtk.main()

3 réponses

Avatar
pbouige
In article <4589002c$0$30297$, PM wrote:
Bonjour,
Je débute en python et j'essaye tant bien que mal de faire des fenêtres
avec gtk. J'ai beau essayer tous les HelloWorld que je peux trouver sur
internet l'interpréteur me renvoie toujours la même erreur :

window = gtk.Window(gtk.WINDOW_TOPLEVEL)
AttributeError: 'module' object has no attribute 'Window'


L'exemple fonctionne très bien sur ma machine sous python 2.4 et
GTK/pygtk 2.8. Ca aide pas beaucoup mais en tout cas le code fonctionne
et devrait fonctionner sous 2.10..... revoir l'installation, ou le path
d'accès.

Bon courage, Philippe.

Avatar
Bruno Desthuilliers
Bonjour,
Je débute en python et j'essaye tant bien que mal de faire des fenêtres
avec gtk. J'ai beau essayer tous les HelloWorld que je peux trouver sur
internet l'interpréteur me renvoie toujours la même erreur :

window = gtk.Window(gtk.WINDOW_TOPLEVEL)
AttributeError: 'module' object has no attribute 'Window'


A mon avis, tu a un fichier nommé gtk.py dans ton sys.path qui masque le
module gtk.

(snip)


PS:
Voici l'un des helloworld qui ne fonctionne pas:


Essaie avec les ajouts suivants:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
""" Un simple Hello World, inspiré de la documentation GTK """
import pygtk
pygtk.require('2.0')


import sys
print "sys.path :" + "n".join(sys.path)
import gtk


print gtk

def hello(*args):
""" La fonction Callback est attachée au bouton """
print "Hello World"
window.destroy()
def destroy(*args):
""" La fonction de Callback qui est activée lorsque l'on ferme le
programme (croix) """
window.hide()
gtk.main_quit()
# Ce bloc crée la fenêtre pricipale
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("destroy", destroy)
window.set_border_width(10)
# Ce bloc crée et place le bouton dans la fenêtre
button = gtk.Button("Hello World")
# On connecte la fonction 'hello' au signal 'clicked' envoyé par le bouton
button.connect("clicked", hello)
window.add(button)
button.show()
# Comme le bouton est dans la fenêtre, il celà montre aussi la fenêtre
window.show_all()
gtk.main()


Avatar
PM
Ca a résolu mon problème, en fait j'utilise eclipse/pydev et j'ai appelé
le package "gtk" ce qui posait conflit avec le module gtk. La commande
m'a permis de le voir.
Merci beaucoup.


Bonjour,
Je débute en python et j'essaye tant bien que mal de faire des
fenêtres avec gtk. J'ai beau essayer tous les HelloWorld que je peux
trouver sur internet l'interpréteur me renvoie toujours la même erreur :

window = gtk.Window(gtk.WINDOW_TOPLEVEL)
AttributeError: 'module' object has no attribute 'Window'


A mon avis, tu a un fichier nommé gtk.py dans ton sys.path qui masque le
module gtk.

(snip)


PS:
Voici l'un des helloworld qui ne fonctionne pas:


Essaie avec les ajouts suivants:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
""" Un simple Hello World, inspiré de la documentation GTK """
import pygtk
pygtk.require('2.0')


import sys
print "sys.path :" + "n".join(sys.path)
import gtk


print gtk

def hello(*args):
""" La fonction Callback est attachée au bouton """
print "Hello World"
window.destroy()
def destroy(*args):
""" La fonction de Callback qui est activée lorsque l'on ferme le
programme (croix) """
window.hide()
gtk.main_quit()
# Ce bloc crée la fenêtre pricipale
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("destroy", destroy)
window.set_border_width(10)
# Ce bloc crée et place le bouton dans la fenêtre
button = gtk.Button("Hello World")
# On connecte la fonction 'hello' au signal 'clicked' envoyé par le
bouton
button.connect("clicked", hello)
window.add(button)
button.show()
# Comme le bouton est dans la fenêtre, il celà montre aussi la fenêtre
window.show_all()
gtk.main()