如何向webkit.WebView()控件发送按键事件?
我做了一个适合触摸屏的小浏览器。使用了Python、GTK和WebKit这几个工具。我想在这个浏览器里加一个触摸键盘,想知道怎么把按键事件发送到webkit.WebView()这个控件里?
我的代码:
#!/usr/bin/python
import webkit, gtk
window = gtk.Window()
browser = webkit.WebView()
window.add(browser)
window.show()
browser.show()
browser.load_uri("http://google.com")
window.fullscreen()
window.connect("delete-event", gtk.main_quit)
window.set_title("Dashboard")
gtk.main()
抱歉我的英语不好...
2 个回答
0
你需要在代码中使用JavaScript,这个页面上有一个很好的例子,展示了如何与webkit进行沟通:
http://www.aclevername.com/articles/python-webgui/
把内容读一遍,理解他的思路。简单来说,他使用了一段简单的JavaScript,通过浏览器的标题变化来发送数据。
2
你可以这样做:
event = gtk.gdk.Event(gtk.gdk.KEY_PRESS)
event.keyval = gtk.keysyms.Return
event.time = 0
browser.emit('key-press-event', event)
比如说,如果你想发送一个 Enter 键的按下信号。