快乐 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 文件中导入了我的对象
我正在 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")