gpt4 book ai didi

python - PyQt Web 浏览器 : Focus on the webpage without a mouse click

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:40:14 25 4
gpt4 key购买 nike

我正在为没有鼠标输入的嵌入式设备编写应用程序。 Web 浏览器非常非常基本,没有任何按钮、地址栏、文件栏等。现在,它只是加载一个网页。此网页使用 javascript 来捕获按键事件以进行操作。

我遇到的问题是,当浏览器加载时,没有捕捉到按键。我已经将这个问题归结为我认为是焦点问题。当浏览器加载时,它没有焦点,直到在应用程序上发生鼠标单击。由于我没有鼠标,因此无法进行初始点击。

我如何确保浏览器应用程序获得正确的焦点,以便当我从终端或脚本启动它时,它会立即获得焦点并且关键事件可以相应地发生?

我的代码如下:

#!/usr/bin/env python
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *

app = QApplication(sys.argv)
web = QWebView()
web.showFullScreen()
web.load(QUrl("http://www.google.com"))
sys.exit(app.exec_())

假设我使用正确,QWidget.setFocus() 不起作用。任何帮助表示赞赏。谢谢

最佳答案

我在我的笔记本电脑上尝试了您的代码,QWebView 已经获得了焦点 - 一旦加载了 Google,我就可以输入并且我的文本出现在文本框中。

如果这是一个焦点问题,那么由于 QWebView 继承了 QWidget,您可以调用它的 setFocus()方法。这是您的代码,其中有一行在页面加载后调用 QWebView 的 setFocus 方法:

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *

app = QApplication(sys.argv)
web = QWebView()
web.loadFinished.connect(web.setFocus)
web.showFullScreen()
web.load(QUrl("http://www.google.com/"))
sys.exit(app.exec_())

关于python - PyQt Web 浏览器 : Focus on the webpage without a mouse click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com