Я разрабатываю приложение, в котором пользователь должен будет сначала войти в систему.Я использую QWebEngineView, чтобы показать страницу входа.Но на одной из машин страница не отображается.Я хочу знать, есть ли какие-либо ошибки SSL.Как я могу получить сигнал sslerrors и подключить его к слоту.Пример кода ниже
from PyQt5.QtNetwork import QSslConfiguration, QSsl
from PyQt5.QtWidgets import QWidget, QGridLayout, QStatusBar, QApplication,\
QMainWindow
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
from PyQt5.QtCore import QCoreApplication, QMetaObject, QUrl
def set_ssl_protocol():
default_config = QSslConfiguration.defaultConfiguration()
default_config.setProtocol(QSsl.TlsV1_2)
QSslConfiguration.setDefaultConfiguration(default_config)
set_ssl_protocol()
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
self.urlString = "https://www.yahoo.com"
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.webView = QWebEngineView(self.centralwidget)
self.webView=QWebEngineView()
self.webView.setUrl(QUrl("about:blank"))
# self.webView.setUrl(QUrl("http://www.google.com/"))
self.webView.setObjectName("webView")
self.gridLayout.addWidget(self.webView, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.loadURL()
self.retranslateUi(MainWindow)
QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
def loadURL(self):
if not hasattr(self, 'page'):
self.page = QWebEnginePage()
self.webView.setPage(self.page)
self.page.load(QUrl(self.urlString))
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Примечание: В Qt4 это было довольно легко, поскольку мы можем подключить сигнал page (). NetworkAccessManager (). Sslerrors к слоту, тогда как в Qt5, поскольку запросы не выполняются через NetworkAccessManager, это немноготрудно отладить.