使用 PyGTK 快速打开文件

使用 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_CANCELGtk.RESPONSE_OK

答案1

您必须替换:

  • GTK_FILE_CHOOSER_ACTION_OPENGtk.FileChooserAction.OPEN
  • Gtk.RESPONSE_CANCELGtk.ResponseType.CANCEL
  • Gtk.RESPONSE_OKGtk.ResponseType.OK

ETC。

这不是 PyGTK,而是 GObject Introspection。您必须按如下方式构建名称:Gtk.EnumTypeNameHere.VALUE

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

相关内容