Я уже добавил слушателей и т. Д., Но не могу заставить работать действующий код открытого диалога. Я думаю, что это как-то связано с разницей между 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
Вы должны заменить:
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