2017-05-27 92 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

謝謝,這是我需要的 –