python - 如何获得 gtkDialog 对空格键触发的默认响应

标签 python dialog gtk key key-bindings

我设置了一个 messageDialog,其默认响应为 gtk.RESPONSE_OK,因此当用户按 Enter 键时,即使“好”按钮没有焦点,也会单击“好”按钮。我还想让空格键触发default_response。最好的方法是什么?

这是在 Linux 环境中使用 python 2.4。不幸的是我没有升级 python 的权限。

最佳答案

连接到消息对话框上的key-press-event信号:

def on_dialog_key_press(dialog, event):
    if event.string == ' ':
        dialog.response(gtk.RESPONSE_OK)
        return True
    return False

dialog = gtk.MessageDialog(message_format='Some message', buttons=gtk.BUTTONS_OK_CANCEL)
dialog.add_events(gtk.gdk.KEY_PRESS_MASK)
dialog.connect('key-press-event', on_dialog_key_press)
dialog.run()

但请记住,改变用户对用户界面的期望通常被认为不酷。

关于python - 如何获得 gtkDialog 对空格键触发的默认响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4000097/

相关文章:

android - setTitle 到 AppCompatDialog 不工作

gtk - Gtk.Table 和 Gtk.Grid 的区别

c - 独立的 C 应用程序

jquery - 将 CSS 应用于 jQuery 对话框按钮

python - Django:按基于类的 View 重定向已经登录的用户

python - 如何使用 BeautifulSoup 从 protected 重定向网站获取 html 内容?

python - 如何在使用 getduplicates() 时从已弃用的代码切换

c++ - QInputDialog 操作取决于 ComboBox 中的项目选择

c++ - 在Linux上将CEF3与wxWidgets(和GTK)结合使用

python - 哪个异常通知子类应该实现一个方法?