我设置了一个 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/