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_()