3 votes

Problèmes avec le tutoriel sur le lecteur multimédia simple

Duplicata possible :
Problème avec "gtk.RESPONSE_OK" dans le tutoriel rapide simple-player

Je suis ce tutoriel, mais je suis arrivé à un point d'arrêt où le programme a un problème avec la ligne if response == gtk.RESPONSE_OK . Cela se produit après avoir cliqué sur Ouvrir, puis sélectionné un répertoire et cliqué sur OK. Le message d'erreur est "NameError : global name 'gtk' is not defined". J'ai donc fait des recherches et j'ai trouvé qu'apparemment nous devions importer quelques éléments :

import pygtk
pygtk.require("2.0")
import gtk

Si j'ajoute ceci au fichier SimpleMediaPlayerWindow.py, le programme ne s'exécute pas du tout et affiche un message d'erreur :

/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  import gobject._gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type `PyGtkGenericCellRenderer' is smaller than the parent type's `GtkCellRenderer' class size
  from gtk import _gtk
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion `node != NULL' failed
  from gtk import _gtk

Je pensais que toutes ces choses étaient installées et configurées correctement lors de l'installation de rapidement. Avez-vous des suggestions ?

Par ailleurs, il y a quelques fautes de frappe dans le tutoriel, ce qui peut le rendre légèrement difficile à suivre. Lors de la suppression de conteneurs préexistants de la fenêtre, il est indiqué deux fois "Naviguer dans la liste des enfants et supprimer le label1", mais la deuxième fois, il s'agit en fait du label2. "Find Horizontal Panes under the Containers tab..." devrait en fait se lire "Find Paned under the Containers tab..." (peut-être que cela a changé avec une version mise à jour de glade). Enfin (jusqu'à présent), "Then add to your on_on_openbutton_clicked function" il y a une fois de trop de on dans ce nom de fonction.

2voto

gabr Points 20458

Vous ne devriez pas importer à la fois gtk et pygtk, car ils provoqueront des conflits entre eux.

2voto

Udith Arosha Points 36

J'ai rencontré le même problème et j'ai découvert que la syntaxe correcte n'est pas if response == gtk.RESPONSE_OK . Il devrait être if response == Gtk.ResponseType.OK . Cela a résolu mon problème et j'espère que cela résoudra le vôtre aussi. Référence : https://bugs.launchpad.net/ubuntu/+source/quickly/+bug/929572

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X