快乐 Ubuntu 错误 (Python)

Glade Ubuntu Error (Python)

我正在 Ubuntu 中使用 glade 和 python 制作一个应用程序。我使用关于对话框小部件制作了一个通过下拉菜单访问的关于页面。当我第一次打开这个关于对话框时,它工作正常。当我用左上角的 'x' 关闭它时,它不会重新打开。我的 'delete-event' 信号绑定到函数 close_about_window() ,它看起来像这样。

def close_about_window(self, *args):

---- self.about_window.hide()

此外,如果有人通过许可和学分知道位于屏幕底部的 "close" 按钮的信号,我们将不胜感激。

由于“关于”页面是一个对话框,当您 运行 对话框时,您可以将回调连接到 response 信号,您将得到一个 response_id.

你的回调正文可以是这样的:

if (response_id == Gtk.ResponseType.CANCEL || response_id == Gtk.ResponseType.DELETE_EVENT) {
    dialog.hide_on_delete ();
}

您还有 Dialog close 信号,它将用于键绑定,比方说,按 ESC。

所以问题的解决其实很简单。我意识到对话框与 window 不同。您想要使用 .运行() 而不是 .show_all() 或 .show() 来显示 window。使用 .运行(),然后在同一函数中使用 .hide()。您的 open_about_dialog() 函数将如下所示。

def open_about_dialog():
    self.about_dialog.run()
    self.about_dialog.hide()

这样就没有问题了,我使用生成器 builder.get_object("about_dialog")

从我的 glade 文件中导入了我的对象