如何在PySide6中添加书签和标签功能?

0 投票
0 回答
21 浏览
提问于 2025-04-12 01:55

我正在尝试制作一个网页浏览器,但找不到关于书签和标签页的好教程,我的浏览器叫RadonNet。我使用的是PySide6,因为我希望我的软件是开源的。

我还使用QWebEngineView,这让找到适合我浏览器的教程变得更困难。

当然,有关于书签和标签页的教程,但它们都不适用于QWebEngineView

有没有什么办法解决这个问题呢?

import sys
from PySide6.QtCore import QUrl

from PySide6.QtWidgets import QApplication, QMainWindow, QLineEdit, QToolBar
from PySide6.QtGui import QAction  # Corrected import for QAction
from PySide6.QtWebEngineWidgets import QWebEngineView

class Browser(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('RadonNet')

`your text`        self.browser = QWebEngineView()
        self.browser.setUrl(QUrl('http://www.google.com'))

        # Navigation toolbar
        self.nav_bar = QToolBar("Navigation")
        self.addToolBar(self.nav_bar)

        # Back button
        back_btn = QAction('Back', self)
        back_btn.triggered.connect(self.browser.back)
        self.nav_bar.addAction(back_btn)

        # Forward button
        forward_btn = QAction('Forward', self)
        forward_btn.triggered.connect(self.browser.forward)
        self.nav_bar.addAction(forward_btn)

        # Refresh button
        refresh_btn = QAction('Refresh', self)
        refresh_btn.triggered.connect(self.browser.reload)
        self.nav_bar.addAction(refresh_btn)

        # Home button
        home_btn = QAction('Home', self)
        home_btn.triggered.connect(self.navigate_home)
        self.nav_bar.addAction(home_btn)

        # URL bar
        self.url_bar = QLineEdit()
        self.url_bar.returnPressed.connect(self.navigate_to_url)
        self.nav_bar.addWidget(self.url_bar)

        self.setCentralWidget(self.browser)

    def navigate_home(self):
        self.browser.setUrl(QUrl('http://www.google.com'))

    def navigate_to_url(self):
        url = self.url_bar.text()
        self.browser.setUrl(QUrl(url))

if __name__ == '__main__':
    app = QApplication(sys.argv)
    QApplication.setApplicationName('RadonNet')
    window = Browser()
    window.show()
    sys.exit(app.exec_())

我试过一些教程,但没有一个与QWebEngineView兼容。关于PySide/QT WebEngineView的书签和标签页的帖子非常少,而且没有一个能用。所以我不得不来问Stack Overflow。

0 个回答

暂无回答

撰写回答