PyGObject MessageDialog-PyGTKDeprecationWarning-不确定该怎么办

PyGObject MessageDialog-PyGTKDeprecationWarning-不确定该怎么办,gtk,gtk3,pygtk,pygobject,Gtk,Gtk3,Pygtk,Pygobject,我正在使用PyGObject 3.30,我想显示一个简单的消息对话框。 这是我的源代码: def report_error(self, reason): dialog = Gtk.MessageDialog(Gtk.Window(), 0, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, "Something went wrong") dialog.format_secondary_text(reason) dialog.run()

我正在使用PyGObject 3.30,我想显示一个简单的消息对话框。 这是我的源代码:

def report_error(self, reason):
    dialog = Gtk.MessageDialog(Gtk.Window(), 0, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, "Something went wrong")
    dialog.format_secondary_text(reason)
    dialog.run()
    dialog.destroy()
它可以工作,并且弹出消息对话框,单击按钮可以取消该对话框。但是,在我的终端中,我收到以下错误消息:

.../main.py:84: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "parent, flags, message_type, buttons, message_format" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
      dialog = Gtk.MessageDialog(Gtk.Window(), 0, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, "Something went wrong")
...main.py:84: PyGTKDeprecationWarning: The keyword(s) "message_format" have been deprecated in favor of "text" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
      dialog = Gtk.MessageDialog(Gtk.Window(), 0, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, "Something went wrong")
那么这到底意味着什么呢?我不知道C,我不知道这是什么意思?例如,我甚至不使用message_格式。它为什么要抱怨呢?如何修复弃用错误?我完全迷路了,完全不知道该怎么办。看什么方向

我甚至查阅了一些PyGObject示例源代码,对话框的创建方式与我的相同。这个例子使用self而不是Gtk.Window,但是self给了我一个错误,所以我使用了Gtk.Window

谁能给我一个更友好的描述问题是什么


非常感谢

答案就在警告消息中,它告诉您使用位置参数是不推荐的,您应该命名每个参数

def report_error(self, reason):
    dialog = Gtk.MessageDialog(parent=Gtk.Window(), flags=0, message_type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK, text="Something went wrong")
    dialog.format_secondary_text(reason)
    dialog.run()
    dialog.destroy()

答案都在警告消息中,它告诉您使用位置参数是不推荐的,您应该命名每个参数

def report_error(self, reason):
    dialog = Gtk.MessageDialog(parent=Gtk.Window(), flags=0, message_type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK, text="Something went wrong")
    dialog.format_secondary_text(reason)
    dialog.run()
    dialog.destroy()

哇,非常感谢。现在可以了。但我仍然有几个问题:那么位置参数是一个没有命名的参数,只是通过它在参数列表中的顺序来标识的参数?好的,明白了。但是你是如何发现这些论点的名称的呢?那在文件里的什么地方?你在谷歌上找到了什么?有没有可以分享的链接?无论如何:非常感谢,这正是我所需要的!!医生在这里:哇,非常感谢。现在可以了。但我仍然有几个问题:那么位置参数是一个没有命名的参数,只是通过它在参数列表中的顺序来标识的参数?好的,明白了。但是你是如何发现这些论点的名称的呢?那在文件里的什么地方?你在谷歌上找到了什么?有没有可以分享的链接?无论如何:非常感谢,这正是我所需要的!!文件如下: