我正在尝试开发一种允许下载的浏览器,但禁用所有上传内容到互联网的方式。我使用PyQt5开发了浏览器,但我无法弄清楚如何禁用FileDialog(例如,当点击在Gmail中添加附件时)。我已经设置了禁用其他标志之类的LocalContentCanAccessRemoteUrls和LocalContentCanAccessFileUrls之类的设置。我还将QWebEnginePage子类化并修改了“chooseFile”函数而没有任何运气。您可以在下面看到我的代码here you can find the UI and resources file。
count = 0;
do
{
...
if (statement)
count++;
...
} while (count != 3);
答案 0 :(得分:1)
您在WebPage
课程中定义了错误的方法。看起来您可能使用了QtWebKit.QWebPage
类中的签名,而不是QWebEnginePage类中的签名。这是一个最小的工作示例:
import sys
from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets
class WebPage(QtWebEngineWidgets.QWebEnginePage):
def chooseFiles(self, mode, oldfiles, mimetypes):
print('Called this')
return []
class Window(QtWebEngineWidgets.QWebEngineView):
def __init__(self):
super(Window, self).__init__()
self.setPage(WebPage(self))
self.setHtml('<input type="file">')
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = Window()
window.setGeometry(600, 100, 400, 200)
window.show()
sys.exit(app.exec_())