如何在 Python(Gtk3+)中初始化 GTKDialog

如何在 Python(Gtk3+)中初始化 GTKDialog

当以“旧”方式在 Python 中创建 GTK 对话框时:

class URLDialog(Gtk.Dialog):
def __init__(self, parent):
    Gtk.Dialog.__init__(self, _t("URL_DLG"), parent, 0,
        (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
         Gtk.STOCK_OK, Gtk.ResponseType.OK))

我收到以下警告:

PyGTKDeprecationWarning:“buttons”参数必须是 Gtk.ButtonsType 枚举值。请使用“add_buttons”方法添加按钮。请参阅:https://wiki.gnome.org/PyGObject/InitializerDeprecations

该链接不是很明确,并且尝试将按钮从初始化器中取出会导致其他更严重的问题。

我的问题是:初始化这种对话框的正确、官方和正确的方法是什么?

答案1

我无法重建你的问题,但我认为这应该可以解决它:

Gtk.Dialog.__init__(self, _t("URL_DLG"), parent, 0)
self.add_buttons(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
                 Gtk.STOCK_OK, Gtk.ResponseType.OK)

编辑:正如 OP 指出的那样

Gtk.Dialog.__init__(self, title = _t("URL_DLG"), 
                          parent = parent, 
                          flags = 0)
self.add_buttons(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
                 Gtk.STOCK_OK, Gtk.ResponseType.OK)

相关内容