Abrindo arquivos com o PyGTK rapidamente

5

Já adicionei os listeners e etc, mas não consigo fazer funcionar o código de diálogo aberto real. Eu acho que é algo a ver com a diferença entre o gtk e o Gtk, mas eu literalmente comecei o python ontem. Aqui está o meu código a partir de agora:

dialog = Gtk.FileChooserDialog("Open..",
                           None,
                           GTK_FILE_CHOOSER_ACTION_OPEN,
                           (Gtk.STOCK_CANCEL, Gtk.RESPONSE_CANCEL,
                            Gtk.STOCK_OPEN, Gtk.RESPONSE_OK))
    dialog.set_default_response(Gtk.RESPONSE_OK)

Quando o botão é pressionado, o console gera isto:

Traceback (most recent call last):
File "/home/nja/notetaker/notetaker/NotetakerWindow.py", line 61, in on_btn_open_clicked
self.open_file()
File "/home/nja/notetaker/notetaker/NotetakerWindow.py", line 41, in open_file
GTK_FILE_CHOOSER_ACTION_OPEN,
NameError: global name 'GTK_FILE_CHOOSER_ACTION_OPEN' is not defined

Além disso, quando GTK_FILE_CHOOSER_ACTION_OPEN é substituído por "0" (que acredito ser o int para o qual a constante aponta), ele funciona bem, mas mostra o mesmo erro em Gtk.RESPONSE_CANCEL e Gtk.RESPONSE_OK

    
por njallam 21.06.2012 / 13:13

1 resposta

2

Você deve substituir:

  • GTK_FILE_CHOOSER_ACTION_OPEN com Gtk.FileChooserAction.OPEN
  • Gtk.RESPONSE_CANCEL com Gtk.ResponseType.CANCEL
  • Gtk.RESPONSE_OK com Gtk.ResponseType.OK

etc.

Este não é o PyGTK, é o GObject Introspection. Você deve criar nomes da seguinte forma: Gtk.EnumTypeNameHere.VALUE

Veja link

    
por pappijo 21.06.2012 / 13:30