如何在gtk中的GtkDialog中按下转义时禁用destroy?

时间:2012-10-24 10:59:34

标签: python gtk

我制作了一个GtkDialog对象,但我想禁用或处理逃生新闻事件,我该怎么办?

2 个答案:

答案 0 :(得分:2)

连接到delete-event,在回调中,按ESC键检查是否已触发事件。返回TRUE会停止事件传播(这是您要忽略按ESC键的内容),返回FALSE将传播事件并关闭对话框。

答案 1 :(得分:0)

如果您执行以下操作,则可以正常工作

enter image description here

将响应信号绑定到事件:

    def on_dialogBigLabel_response(self, widget, response_id):
        print('on_dialogBigLabel_response Widget: %s | response_id: %s' % (widget, response_id))

        if response_id == Gtk.ResponseType.OK:
            print('OK')
            self.dialogBigLabel.hide()
        else:
            print('Response: %i' % response_id)

现在转义响应为-4,在这里我们不会隐藏或销毁对话框。