PyQt5 webkit 浏览器

PyQt5 附带一个 webkit 浏览器。Webkit 是 Apple Safari 和其他人使用的开源 Web 浏览器渲染引擎。它在旧版 Google Chrome 中使用,不过现在 Chrome 已切换到 Blink 渲染引擎。

PyQt5 Webkit(QWebview) 浏览器

QWebView

小控件称为 QWebView,网页(HTML 内容)可以通过此小控件显示,显示本地或互联网上的内容。

QWebView 方法

QWebView 类有很多方法,包括:

  • back(self)
  • forward(self)
  • load(self, QUrl url)
  • reload(self)

有关此课程的更多文档可以在ics.uci.edu上找到。

#!/usr/bin/python

import PyQt5
from PyQt5.QtCore import QUrl 
from PyQt5.QtWidgets import QApplication, QWidget 
from PyQt5.QtWebKitWidgets import QWebView , QWebPage
from PyQt5.QtWebKit import QWebSettings
from PyQt5.QtNetwork import *
import sys
from optparse import OptionParser


class MyBrowser(QWebPage):
    ''' Settings for the browser.'''

    def userAgentForUrl(self, url):
        ''' Returns a User Agent that will be seen by the website. '''
        return "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"

class Browser(QWebView):
    def __init__(self):
        # QWebView
        self.view = QWebView.__init__(self)
        #self.view.setPage(MyBrowser())
        self.setWindowTitle('Loading...')
        self.titleChanged.connect(self.adjustTitle)
        #super(Browser).connect(self.ui.webView,QtCore.SIGNAL("titleChanged (const QString&)"), self.adjustTitle)

    def load(self,url):

        self.setUrl(QUrl(url)) 

    def adjustTitle(self):
        self.setWindowTitle(self.title())

    def disableJS(self):
        settings = QWebSettings.globalSettings()
        settings.setAttribute(QWebSettings.JavascriptEnabled, False)



app = QApplication(sys.argv) 
view = Browser()
view.showMaximized()
view.load("https://tastones.com")
app.exec_()