【问题标题】:Gtk has no attribute 'DIALOG_DESTROY_WITH_PARENT'Gtk 没有属性 'DIALOG_DESTROY_WITH_PARENT'
【发布时间】:2014-11-19 03:01:40
【问题描述】:

我正在尝试在 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()

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

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

我很确定这与上述代码在 PyGtk (GTK 2) 上工作的事实有关。我如何让它工作?

【问题讨论】:

    标签: python pygobject


    【解决方案1】:

    经过一点研究,我发现,是的,这是由于库结构从 PyGTK 到 PyGObject 的变化。 (Read the documentation 了解如何使用对话框,请参阅该链接书签中示例的第 27 行。)

    枚举 Gtk.DIALOG_DESTROY_WITH_PARENT 在 PyGObject 中似乎不存在,因为文档建议直接传递 0

    除此之外,Gtk.MESSAGE_INFO 已移至 Gtk.MessageType.INFOGTK.BUTTONS_CLOSE 已移至 Gtk.ButtonsType.CLOSE

    这对某些人来说可能是非常明显的,但 Gtk 并不是因为他们的文档而出名,所以这适用于任何可能像我一样为此奋斗了一段时间的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多