這是一個以PyQt5 寫成的簡易瀏覽器
可完成最基本的網頁瀏覽。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *
class Browser(QMainWindow):
def __init__(self):
super().__init__()
# 初始化瀏覽器窗口
self.browser = QWebEngineView()
self.setCentralWidget(self.browser)
self.status = QStatusBar()
self.setStatusBar(self.status)
# 設置菜單欄
navbar = QToolBar("Navigation")
self.addToolBar(navbar)
# 添加瀏覽器操作按鈕
back_btn = QAction("Back", self)
back_btn.triggered.connect(self.browser.back)
navbar.addAction(back_btn)
forward_btn = QAction("Forward", self)
forward_btn.triggered.connect(self.browser.forward)
navbar.addAction(forward_btn)
reload_btn = QAction("Reload", self)
reload_btn.triggered.connect(self.browser.reload)
navbar.addAction(reload_btn)
home_btn = QAction("Home", self)
home_btn.triggered.connect(self.navigate_home)
navbar.addAction(home_btn)
# 添加瀏覽器地址欄
self.urlbar = QLineEdit()
self.urlbar.returnPressed.connect(self.navigate_to_url)
navbar.addWidget(self.urlbar)
# 設置瀏覽器窗口屬性
self.browser.load(QUrl("https://www.google.com/"))
self.browser.titleChanged.connect(self.update_title)
self.browser.urlChanged.connect(self.update_url)
# 設置瀏覽器首頁
def navigate_home(self):
self.browser.load(QUrl("https://www.google.com/"))
# 跳轉到指定網頁
def navigate_to_url(self):
url = self.urlbar.text()
self.browser.load(QUrl(url))
# 更新瀏覽器窗口標題
def update_title(self):
title = self.browser.title()
self.setWindowTitle(title)
# 更新瀏覽器地址欄
def update_url(self, q):
self.urlbar.setText(q.toString())
self.urlbar.setCursorPosition(0)
# 創建應用程序對象並啟動瀏覽器窗口
app = QApplication(sys.argv)
browser = Browser()
browser.show()
app.exec_()