简体   繁体   English

我正在做一个浏览器在pyqt5,但是不知道如何在浏览器中放置网站内容

[英]I am making a browser In pyqt5, but I don't know how to place the website content in the browser

在此处输入图像描述

so basically I want the website content to be right under the browser, I don't know how to do that.所以基本上我希望网站内容在浏览器下,我不知道该怎么做。 Basically whichever link you click on, the searchbar should be right there on the top.基本上,无论您单击哪个链接,搜索栏都应该在顶部。 Right now, I have just made it as the central widget, because I don't know how to put it under the searchbar.现在,我只是将它作为中央小部件,因为我不知道如何将它放在搜索栏下。 Here's the code:这是代码:

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()

You have to use layouts to position the elements, in this case a QGridLayout.您必须使用 position 元素的布局,在本例中为 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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 PyQt5 程序中的意外小部件弹出,我不知道如何修复它 - Unintended widget popup in a PyQt5 program and I don't know how to fix it 如何使 PyQt5 中的浏览器看起来更现代? - How do I make my browser in PyQt5 look more modern? 如何在 PyQt5 中向我的 Web 浏览器添加代码以更改 Internet? - How do I add code to my Web Browser in PyQt5 to make changes to the internet? 如何为我的 PyQt5 浏览器制作加载程序 - How to make a loader for my PyQt5 Browser pyqt5我想知道如何在qtableview中选择行值 - pyqt5 I want to know how to select the row value in qtableview 我收到EOF错误,不知道如何解决 - I am getting an EOF error and don't know how to fix it 我的页码显示有错误,我知道原因和位置但我不知道如何解决它们(PyQt) - My page number display has bugs, I know why and where but I don't know how to solve them (PyQt) 我在我的 discord.py 机器人上发出警告 function 我不知道为什么它给我一个属性错误 - I am making a warn function on my discord.py bot and I don't know why it is giving me an attribute error 如何使用pyqt5浏览器实现打印功能 - How to use pyqt5 browser to Realize printing function 如何在 pyqt5 文本浏览器上打印连续数据 - how to print continous data on pyqt5 text browser
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM