如何向 webkit.WebView() 控件发送按键事件?

发布于 2024-11-25 13:49:51 字数 436 浏览 1 评论 0原文

我为触摸屏创建了迷你浏览器。我使用了 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()

抱歉我的英语不好......

I created mini browser for touch panels. I used Python, GTK and WebKit. I want to create touch keyboard built-in that browser. How to send key events to webkit.WebView() control?

My code:

#!/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()

Sorry for my bad English...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

快乐很简单 2024-12-02 13:49:51

您可以这样做:

event = gtk.gdk.Event(gtk.gdk.KEY_PRESS)
event.keyval = gtk.keysyms.Return
event.time = 0
browser.emit('key-press-event', event)

例如,发送 Enter 按键。

You can do it like this:

event = gtk.gdk.Event(gtk.gdk.KEY_PRESS)
event.keyval = gtk.keysyms.Return
event.time = 0
browser.emit('key-press-event', event)

for example, to send an Enter key press.

哭泣的笑容 2024-12-02 13:49:51

您必须在代码中使用 javascript,此页面上有一个与 webkit 通信的很好的示例:

http://www.aclevername.com/articles/python-webgui/

通读所有内容以理解他的逻辑。本质上,他使用简单的 JavaScript 通过浏览器中的 titlechange 发送回数据。

You will have to use javascript in the code, there is a good example of communicating with webkit on this page:

http://www.aclevername.com/articles/python-webgui/

Read trough it all to understand his logic. Essentially he uses a simple javascript to send data back via titlechange in the browser.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文