我正在使用Ubuntu中的glade和python进行应用程序。我使用about对话框小部件来创建一个通过下拉菜单访问的页面。当我第一次打开这个关于对话框时它工作正常。当我用' x'关闭它时在左上角它不会重新打开。我有我的'删除事件'绑定到函数close_about_window()的信号,看起来像这样。
def close_about_window(self, *args):
---- self.about_window.hide()
此外,如果有人知道"关闭"的信号。按钮位于屏幕底部的许可证和信用额度将非常感谢。
答案 0 :(得分:1)
由于“关于”页面是一个对话框,因此当您运行该对话框时,可以将回调连接到响应信号,您将获得一个response_id。
你的回调主体可能是这样的:
if (response_id == Gtk.ResponseType.CANCEL || response_id == Gtk.ResponseType.DELETE_EVENT) {
dialog.hide_on_delete ();
}
您还有Dialog 关闭信号,该信号适用于键绑定,比方说,按ESC键。
答案 1 :(得分:0)
因此问题的解决方案非常简单。我意识到对话框与窗口不同。您希望使用.run()而不是.show_all()或.show()来显示窗口。使用.run()然后在同一个函数中使用.hide()。你的open_about_dialog()函数将如下所示。
def open_about_dialog():
self.about_dialog.run()
self.about_dialog.hide()
就是这样,没有问题我使用构建器builder.get_object("about_dialog")
从我的glade文件导入了我的对象