1、上接pyqt5基础https://blog.csdn.net/weixin_73011353/article/details/138051734https://blog.csdn.net/weixin_73011353/article/details/138051734
2、基本模块
# 定义一个名为BrowserWindow的类,继承自QMainWindow
class BrowserWindow(QMainWindow):def __init__(self):super().__init__()
3、设置窗口标题和初始位置及大小
self.setWindowTitle("浏览器示例")self.setGeometry(100, 100, 800, 600)
4、创建一个中心小部件和布局
self.central_widget = QWidget()self.setCentralWidget(self.central_widget)self.layout = QVBoxLayout()self.central_widget.setLayout(self.layout)
5、创建地址栏控件
self.address_bar = QLineEdit()self.layout.addWidget(self.address_bar)
6、创建搜索按钮控件
self.search_button = QPushButton("搜索")self.layout.addWidget(self.search_button)
7、创建浏览器视图控件
self.browser = QWebEngineView()self.layout.addWidget(self.browser)
8、将搜索按钮的clicked信号连接到search方法
self.search_button.clicked.connect(self.search)
9、定义search方法,用于处理搜索逻辑
def search(self):# 获取地址栏中的文本query = self.address_bar.text()# 构建搜索URLurl = f"https://www.google.com/search?q={query}"# 加载URL到浏览器视图self.browser.load(QUrl(url))
10、程序入口
# 程序入口
if __name__ == "__main__":app = QApplication(sys.argv) browser_window = BrowserWindow() browser_window.show() # 显示窗口sys.exit(app.exec_()) # 进入程序的主循环
11、完整代码
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QLineEdit, QPushButton, QTextEdit
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrl
class BrowserWindow(QMainWindow):def __init__(self):super().__init__() # 设置窗口标题和初始位置及大小self.setWindowTitle("浏览器示例")self.setGeometry(100, 100, 800, 600)# 创建一个中心小部件和布局self.central_widget = QWidget()self.setCentralWidget(self.central_widget)self.layout = QVBoxLayout()self.central_widget.setLayout(self.layout)# 创建地址栏控件self.address_bar = QLineEdit()self.layout.addWidget(self.address_bar)# 创建搜索按钮控件self.search_button = QPushButton("搜索")self.layout.addWidget(self.search_button)# 创建浏览器视图控件self.browser = QWebEngineView()self.layout.addWidget(self.browser)# 将搜索按钮的clicked信号连接到search方法self.search_button.clicked.connect(self.search)# 定义search方法,用于处理搜索逻辑def search(self):# 获取地址栏中的文本query = self.address_bar.text()# 构建搜索URLurl = f"https://www.google.com/search?q={query}"# 加载URL到浏览器视图self.browser.load(QUrl(url))# 程序入口
if __name__ == "__main__":app = QApplication(sys.argv)browser_window = BrowserWindow()browser_window.show() # 显示窗口sys.exit(app.exec_()) # 进入程序的主循环
12、运行效果: