12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # -*- coding: utf-8 -*-
- __author__ = 'wanger'
- __date__ = '2024-08-21'
- __copyright__ = '(C) 2024 by siwei'
- __revision__ = '1.0'
- from typing import Optional
- from PyQt5.QtCore import QUrl
- from PyQt5.QtGui import QIcon
- from PyQt5.QtNetwork import QNetworkCookie
- from PyQt5.QtWidgets import QApplication
- from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineView
- import sys
- class CustomWebView:
- def __init__(
- self,
- weburi: str, # webview uri
- title: Optional[str] = "自定义窗口", # window title
- cookieName: Optional[str] = None, # cookie name
- cookieValue: Optional[str] = None, # cookie value
- windowW: Optional[int] = 1200, # window min width default 1200
- windowH: Optional[int] = 700, # window min height default 1200
- icon: Optional[str] = "E:\\projects\\sanya\\real3d-portalsite\\src\\assets\\logo.png",
- # window icon type png
- ):
- self.uri = weburi
- app = QApplication(sys.argv)
- web_view = QWebEngineView()
- web_view.setWindowTitle(title)
- web_view.setMinimumSize(windowW, windowH)
- web_view.setWindowIcon(QIcon(icon))
- page = QWebEnginePage()
- page.load(QUrl(self.uri))
- web_view.setPage(page)
- if cookieName is not None and cookieValue is not None:
- # Cookie
- netcookie = QNetworkCookie()
- netcookie.setName(bytes(cookieName, encoding='utf-8'))
- netcookie.setValue(bytes(cookieValue, encoding='utf-8'))
- page.profile().cookieStore().setCookie(netcookie, QUrl(self.uri))
- web_view.show()
- sys.exit(app.exec_())
|