我使用GtkAboutDialog,除了这个小部件的close按钮外,一切正常。其他所有的按钮都很好,我不知道怎么做,但所有的按钮都有默认的回调,它们创建和破坏窗口。 但是GtkAboutDialog小部件的“关闭”按钮不起作用。我甚至看不到它的小部件。那么,我可以使用它吗?在
[澄清]你现在看到的是gtk.AboutDialog公司-显示应用程序信息的弹出窗口(PyGTK 2.6中新增)。此窗口包含“关闭”按钮小部件,它包含在GtkHButtonBox小部件中。GtkHButtonBox小部件是我能够访问的最高级别的小部件。有没有关于如何进入“关闭”按钮并连接回调信号处理程序的想法?在
你不能像对待窗口那样用同样的方式来处理对话框的信号。我在学习PyGTK时犯了同样的错误。在
对话框最基本的形式是显示和运行该对话框:
通常你会立刻打电话给:
^{pr2}$run()行是一个循环,它会一直运行到对话框中发生一些事情。在
有一个工作example here。在
gtk.AboutDialog
只是一个gtk.Dialog
,您可以用相同的方式处理来自它的响应。对话框代码不是连接到按钮的单击信号,而是为您处理并从您的run()
调用返回响应。您可以检查返回的响应值,以确定单击了哪个按钮。在如果您试图重写某些行为,可以连接到
response
的response
信号。在这是一个老问题,但由于它是谷歌的第一批热门搜索之一,我想我会把我找到的解决方案扔掉。您需要一个事件处理程序来显示about对话框,并需要一个事件处理程序来关闭它。第一个可能会连接到您的帮助->about menuitem的
activate
信号。后者应该连接到about对话框的response
信号。两个处理程序将如下所示:在上面的例子中,我使用
GtkBuilder
来查找我的about对话框,因为我已经用glade构建了接口。请注意,我使用.show()
而不是.run()
,因为在对话框关闭之前,我看不到暂停程序执行的意义。最后,可以让响应处理程序根据响应执行任何操作,但我在这里忽略它。在相关问题 更多 >
编程相关推荐