Python GtkAboutDialog关闭按钮错误
我使用GtkAboutDialog,除了这个小部件的关闭按钮外,其他一切都很好。所有其他按钮工作正常,我不知道如何,但所有按钮都有默认回调,它们创建和破坏窗口。 但是GtkAboutDialog小部件的“关闭”按钮不起作用。我甚至看不到它的部件。那么,我可以访问它吗 [澄清]您看到的是gtk.AboutDialog-显示应用程序信息的弹出窗口(PyGTK 2.6中新增)。此窗口包含GtkHButtonBox小部件中包含的“关闭”按钮小部件。GtkHButtonBox小部件是我能够访问的一些高级小部件。关于如何到达“关闭”按钮并连接回调信号处理程序,有什么想法吗Python GtkAboutDialog关闭按钮错误,python,user-interface,gtk,pygtk,Python,User Interface,Gtk,Pygtk,我使用GtkAboutDialog,除了这个小部件的关闭按钮外,其他一切都很好。所有其他按钮工作正常,我不知道如何,但所有按钮都有默认回调,它们创建和破坏窗口。 但是GtkAboutDialog小部件的“关闭”按钮不起作用。我甚至看不到它的部件。那么,我可以访问它吗 [澄清]您看到的是gtk.AboutDialog-显示应用程序信息的弹出窗口(PyGTK 2.6中新增)。此窗口包含GtkHButtonBox小部件中包含的“关闭”按钮小部件。GtkHButtonBox小部件是我能够访问的一些高级小
对话框的信号传输方式与窗口不同。我在学习PyGTK时也犯了同样的错误 对话框的最基本形式是显示和运行对话框时使用:
aboutdialog.run()
通常情况下,您会立即致电:
aboutdialog.destroy()
.run()行是一个循环,它会一直运行,直到对话框中发生某些事情为止
有一个工作。gtk.AboutDialog只是一个
gtk.Dialog
,您可以用同样的方式处理来自它的响应。对话框代码不是连接到按钮的单击信号,而是为您处理该信号,并从run()
调用返回响应。您可以检查返回的响应值,以确定单击了哪个按钮
如果您试图覆盖某些行为,您可以连接到
gtk.Dialog的响应信号。这是一个老问题,但由于这是谷歌的第一个点击,我想我应该加入我找到的解决方案。您需要一个事件处理程序来显示about对话框,一个事件处理程序来关闭它。第一个可能会连接到您的帮助->关于菜单项的activate
信号。后者应连接到about对话框的响应
信号。这两个处理程序将如下所示:
def on_menuitemHelpAbout_activate(self, *args):
self.builder.get_object('aboutdialog').show()
def on_aboutdialog_response(self, *args):
self.builder.get_object('aboutdialog').hide()
在上面的示例中,我使用GtkBuilder
查找我的about对话框,因为我已经用glade构建了接口。请注意,我使用的是.show()
而不是.run()
,因为我看不出在对话框关闭之前暂停程序执行的意义。最后,响应处理程序可以根据响应采取任何行动,但我在这里忽略了它。您的问题不清楚,能否举例说明您正在尝试做什么?