4

我想问是否有人知道如何在 glade 和 pygtk 中使用文件选择器对话框。(它在任何语言绑定中都应该非常相似,这就是我没有指定语言的原因。)基本上,文件选择器现在看起来像这样:有两列,一列用于文件夹(左),一列对于文件(右)。然后在对话框的底部,有两个用于两个按钮的空槽,所以我只是在那里放了一个取消和一个确定按钮。但是我的问题是对话框返回了什么?我的代码如下所示:

    filename = None
    response = self.widget('filechooserdialog').run()
    print response
    #if response == Gtk.RESPONSE_OK: 
    filename = self.widget('filechooserdialog').get_filename()
    self.widget('filechooserdialog').hide()

目前,“取消”和“确定”的回调只是隐藏了对话框。但我无法找出对话框应该返回的内容。换句话说,我如何在响应中指定是否按下了“取消”或“确定”按钮?

谢谢,

v923z

PS:这是一张图片来说明情况:

在此处输入图像描述

4

1 回答 1

7

带有按钮的对话框返回与按下的按钮相关联的响应 ID。在您的情况下,当您在 glade 中创建“取消”和“确定”按钮并将它们放入文件选择器对话框中可用的空插槽中时,在编辑框中(屏幕右下角的标题类似于“按钮属性”。 ..”)您可以在选项卡下看到Response ID:选项(它是一个默认值为 0 的旋转按钮)General。只需将其设置为按下该按钮时想要接收的值。将此设置为不同按钮的不同值。现在,当您运行对话框并按下按钮时,您将获得您设置的响应 id 值。基于此,您可以采取行动。
希望这可以帮助!

于 2011-12-03T05:59:42.563 回答