我正在pyqt5中制作浏览器,但不知道如何在浏览器中放置网站内容

史诗程序员1233213

在此处输入图片说明

所以基本上我希望网站内容就在浏览器下,我不知道该怎么做。基本上无论你点击哪个链接,搜索栏都应该在顶部。现在,我刚刚将它作为中央小部件,因为我不知道如何将它放在搜索栏下。这是代码:

import requests
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtWidgets import QApplication, QMainWindow, QLineEdit, QGridLayout, QWidget
from PyQt5.QtCore import *


def check_if_url_is_valid(url):
    if not url.startswith("http"):
        return "http://" + url
    elif url.startswith("http") or url.startswith("https"):
        return url


def render_html():
    website = QWebEngineView()
    website.load(QUrl("https://google.com"))
    website.show()


class StealthBrowser(QMainWindow):
    def __init__(self):
        super(StealthBrowser, self).__init__()
        self.search = QtWidgets.QPushButton(self)
        self.textbox = QLineEdit(self)
        self.search_button_clicked1 = False
        self.label = QtWidgets.QLabel(self)
        self.browser = QWebEngineView()
        self.initUi()
        self.setGeometry(200, 200, 1000, 700)
        self.setWindowTitle("StealthBrowser")

    def initUi(self):
        self.textbox.move(20, 20)
        self.search.move(300, 15)
        self.textbox.resize(280, 20)
        self.search.setText("Search")
        self.search.clicked.connect(lambda: self.search_button_clicked())

    def search_button_clicked(self):
        self.render_website()
        print(self.textbox.text())

    def render_website(self):
        self.browser.setUrl(QUrl(check_if_url_is_valid(self.textbox.text())))
        self.setCentralWidget(self.browser)


def window():
    app = QApplication(sys.argv)
    win = StealthBrowser()
    win.show()
    sys.exit(app.exec_())


window()
埃利亚内斯克

您必须使用布局来定位元素,在本例中为 QGridLayout。

class StealthBrowser(QMainWindow):
    def __init__(self):
        super(StealthBrowser, self).__init__()
        self.setGeometry(200, 200, 1000, 700)
        self.setWindowTitle("StealthBrowser")

        self.search = QPushButton("Search")
        self.textbox = QLineEdit()
        self.browser = QWebEngineView()

        central_widget = QWidget()
        self.setCentralWidget(central_widget)
        lay = QGridLayout(central_widget)
        lay.addWidget(self.textbox, 0, 0)
        lay.addWidget(self.search, 0, 1)
        lay.addWidget(self.browser, 1, 0, 1, 2)
        self.search.clicked.connect(self.search_button_clicked)

    def search_button_clicked(self):
        self.render_website()

    def render_website(self):
        url = QUrl.fromUserInput(self.textbox.text())
        self.browser.load(url)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我尝试了这个,但不知道如何打开第一个视频。此代码在浏览器中打开搜索

页面在每个浏览器中显示不同,我不知道为什么

我可以在网站内创建浏览器吗?

如何知道在移动或PC浏览器中打开的网站?

使chrome在浏览器中放置http://

如何在谷歌浏览器中禁用网站隔离?

如何在Windows的Android浏览器中测试网站?

如何在IOS浏览器中设置网站Cookie?

如何在浏览器中调试“混合内容”错误?

浏览器如何知道网站是否支持https

捕获浏览器内容的截图(网站)

如果URL正在重定向,我的浏览器如何知道我已经访问过页面?

如何在Firefox和Chrome等流行的浏览器中禁用HTML5内容?

如何使用pyqt5浏览器实现打印功能

有什么方法可以使浏览器页面避免在Pyqt5中重定向?

在PyQt5中创建数据库浏览器样式QHeaderview

我怎么知道页面是否在浏览器中运行?

如果未安装网站,如何在MS Edge Web浏览器上测试我的网站?

浏览器如何知道scss文件?

如何知道浏览器窗口大小?

如何使浏览器吸引我与网站集成?

Safari浏览器中我的网站的图像拉伸

浏览器如何在打开页面上的文件时知道要阅读的内容

如何制作网络浏览器?

如何禁用Web浏览器中的自动光标放置?

如何知道浏览器中的按钮点击动作

如何在本地浏览器中从远程服务器访问Django网站?

在Puppeteer中使用page。$ eval()时,如何在浏览器上下文中放置变量?

如何在JSP中放置浏览器的本机登录提示并检索用户名和密码