Открытие файлов с помощью быстрого PyGTK

Я уже добавил слушателей и т. Д., Но не могу заставить работать действующий код открытого диалога. Я думаю, что это как-то связано с разницей между gtk и gtk, но я буквально вчера запустил python. Вот мой код на данный момент:

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)

Когда кнопка нажата, консоль выдает следующее:

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

Также, когда GTK_FILE_CHOOSER_ACTION_OPEN заменяется на «0» (который Я считаю, что int, на которую указывает константа, работает нормально, но выдает ту же ошибку на Gtk.RESPONSE_CANCEL и Gtk.RESPONSE_OK

.
5
задан 1 September 2012 в 21:10

1 ответ

Вы должны заменить:

  • GTK_FILE_CHOOSER_ACTION_OPEN на Gtk.FileChooserAction.OPEN
  • Gtk.RESPONSE_CANCEL на Gtk.ResponseType.CANCEL
  • Gtk.RESPONSE_OK на Gtk.ResponseType.OK [ 1110]

и т. Д.

Это не PyGTK, это GObject Introspection. Вы должны создать имена следующим образом: Gtk.EnumTypeNameHere.VALUE

См. https://live.gnome.org/PyGObject/IntrospectionPorting

0
ответ дан 1 September 2012 в 21:10

Другие вопросы по тегам:

Похожие вопросы: