Gtk没有属性'DIALOG_DESTROY_WITH_PARENT'

Cod*_*e92 2 python pygobject

我试图在Python 2.7/GTK + 3(PyGObject)中创建一个工作对话框.我找到了一个在线教程,它提供了以下代码......

md = Gtk.MessageDialog(window,
        Gtk.DIALOG_DESTROY_WITH_PARENT,
        Gtk.MESSAGE_INFO,
        Gtk.BUTTONS_CLOSE,
        msg)

response = md.run()
Run Code Online (Sandbox Code Playgroud)

但是,运行此会导致错误...

AttributeError:'gi.repository.Gtk'对象没有属性'DIALOG_DESTROY_WITH_PARENT'

我很确定这与上面代码在PyGtk(GTK 2)上工作的事实有关.我该如何工作?

Cod*_*e92 7

经过一些研究后,我发现,是的,这是由于从PyGTK到PyGObject的库结构发生了变化.(阅读有关如何使用对话框的文档,并在该链接的书签中查看示例的第27行.)

枚举Gtk.DIALOG_DESTROY_WITH_PARENT没有出现在PyGObject存在,如文档建议路过的0直接.

除此之外,Gtk.MESSAGE_INFO已经搬到了Gtk.MessageType.INFO,并且GTK.BUTTONS_CLOSE已经搬到了Gtk.ButtonsType.CLOSE.

对某些人来说,这可能是非常明显的,但是Gtk并不是因为他们的文档而闻名,所以这对于那些可能和我一直在战斗的人一样.