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()
# 构建搜索URL
url = 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()
# 构建搜索URL
url = 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、运行效果: