GTK对话框构造函数不能用于创建子类Messagedialog WTF的实例

发布于 2025-02-04 05:48:31 字数 473 浏览 3 评论 0原文

当我运行以下代码时:

 dialog = Gtk.MessageDialog.new(
            None,
            Gtk.DialogFlags.MODAL,
            Gtk.MessageType.QUESTION,
            Gtk.ButtonsType.YES_NO,
            f'Do you really want to {action} "{data["list_element"].name}" ?',
        )

我会收到此错误:

Dialog constructor cannot be used to create instances of a subclass MessageDialog

这是什么意思?我该如何解决?

When I run the following code:

 dialog = Gtk.MessageDialog.new(
            None,
            Gtk.DialogFlags.MODAL,
            Gtk.MessageType.QUESTION,
            Gtk.ButtonsType.YES_NO,
            f'Do you really want to {action} "{data["list_element"].name}" ?',
        )

I get this error:

Dialog constructor cannot be used to create instances of a subclass MessageDialog

What does it mean? How do I solve it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梓梦 2025-02-11 05:48:31

我认为问题是使用new,它似乎是为父gtk.dialog类保留的。来自这个来源直接使用gtk.messagedialog构造函数:

 dialog = Gtk.MessageDialog(
            None,
            Gtk.DialogFlags.MODAL,
            Gtk.MessageType.QUESTION,
            Gtk.ButtonsType.YES_NO,
            f'Do you really want to {action} "{data["list_element"].name}" ?',
        )

I think the problem is the use of new, which seems to be reserved for the parent Gtk.Dialog class. From this source, it seems you can use the Gtk.MessageDialog constructor directly:

 dialog = Gtk.MessageDialog(
            None,
            Gtk.DialogFlags.MODAL,
            Gtk.MessageType.QUESTION,
            Gtk.ButtonsType.YES_NO,
            f'Do you really want to {action} "{data["list_element"].name}" ?',
        )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文