Eu encontrei o mesmo problema e descobri que a sintaxe correta não é
%código%. Deve ser if response == gtk.RESPONSE_OK
.
Isso resolveu meu problema e espero que ele resolva o seu também.
Referência: link
Estou acompanhando este tutorial, mas chego a um ponto de parada em que o programa tem um problema com a linha if response == gtk.RESPONSE_OK
. Isso acontece depois de clicar em Abrir, depois selecionar um diretório e clicar em OK. A mensagem de erro é "NameError: nome global 'gtk' não está definido" Então pesquisei e descobri que aparentemente precisamos importar algumas coisas:
import pygtk
pygtk.require("2.0")
import gtk
Se eu adicionar isso ao SimpleMediaPlayerWindow.py, o programa não será executado, dando uma mensagem de erro:
/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
Eu pensei que todas essas coisas foram instaladas e configuradas corretamente durante a instalação de forma rápida. Alguma sugestão?
Em uma nota lateral, há alguns erros de digitação no tutorial que podem dificultar o acompanhamento. Ao excluir contêineres preexistentes da janela, ele diz "Navegue pela lista de filhos e exclua label1" duas vezes, mas na segunda vez ele está se referindo a label2. "Encontrar Painéis Horizontais sob a aba Contêineres ..." na verdade deve ser "Localizar em Pan sob a aba Contêineres ..." (talvez isso tenha mudado com uma versão atualizada do glade). Por último (até agora), "Então adicione à sua função on_on_openbutton_clicked" há uma vez muitos no nome da função.
Eu encontrei o mesmo problema e descobri que a sintaxe correta não é
%código%. Deve ser if response == gtk.RESPONSE_OK
.
Isso resolveu meu problema e espero que ele resolva o seu também.
Referência: link
Você não deve importar tanto o gtk quanto o pygtk, pois eles causarão conflitos entre si.