2017-05-27 86 views
0

的Python 3.6.1 PyQt5(5.8.2) 操作系统:Windows 问: 我想在PROGRAMM打开网站,并显示在顶部或许不是底部钮,但我没有表现如果我显示QWebEngineView,并且QWidgets不显示QWebEngineView,则不会显示QWidgets中的任何内容。我怎样才能在1窗口中显示QWebEngineView和QWidget? 我的代码:QWebEngineView和QWidget的在PyQt5

from PyQt5.QtCore import QUrl 
from PyQt5.QtWidgets import * 
from PyQt5.QtWebEngineWidgets import QWebEngineSettings, QWebEngineView, QWebEnginePage 
from PyQt5.QtGui import QIcon 
import PyQt5 
import sys 

class MyBrowser(QWebEnginePage): 

    def userAgentForUrl(self, url): 
     return "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 

class Web(QWebEngineView): 

    def load(self, url): 
     self.setUrl(QUrl(url)) 

    def adjustTitle(self): 
     self.setWindowTitle(self.title()) 

    def disableJS(self): 
     settings = QWebEngineSettings.globalSettings() 
     settings.setAttribute(QWebEngineSettings.JavascriptEnabled, False) 

class Main(QWidget): 

    def __init__(self): 
     super().__init__() 
     self.initUI() 

    def initUI(self): 
     self.setWindowTitle('Name') 
     self.setWindowIcon(QIcon('icon.png')) 

     self.btn = QPushButton('Button', self) 
     self.btn.resize(self.btn.sizeHint()) 
     self.btn.move(20, 20) 
     self.show() 

app = QApplication(sys.argv) 
web = Web() 
main = Main() 
web.load("https://google.com") 
web.show() 
app.exec_() 
+0

你的问题有点不清楚。请提供一些关于您正在尝试做什么以及哪些不起作用的更多信息。 –

回答

1

您必须使用布局放置,QWebEngineView和儿童类是QWidgets

class Main(QWidget): 

    def __init__(self): 
     super().__init__() 
     self.initUI() 

    def initUI(self): 
     self.setWindowTitle('Name') 
     self.setWindowIcon(QIcon('icon.png')) 

     web = Web() 

     web.load("https://google.com") 

     self.btn = QPushButton('Button', self) 
     self.btn.resize(self.btn.sizeHint()) 
     lay = QVBoxLayout(self) 
     lay.addWidget(self.btn) 
     lay.addWidget(web) 

app = QApplication(sys.argv) 
main = Main() 
main.show() 
app.exec_() 

enter image description here

+0

这是另一个问题,我建议你创建一个新帖子,并在那里解释你自己的问题。 – eyllanesc

+0

如果我的答案可以帮助您将其标记为正确。 – eyllanesc

+0

谢谢,这是我需要的 –