2017-05-27 8 views
0

Python 3.6.1 PyQt5 (5.8.2) OS: Windows Frage: I-Stelle in Programm öffnen möchten, und Botton zeigen in oben oder vielleicht auch nicht unten, aber ich nicht zeigen nichts von QWidgets, wenn ich QWebEngineView zeige, und QWebEngineView nicht, wenn QWidgets. Wie kann ich QWebEngineView und QWidget in 1 Fenster anzeigen? Mein Code:QWebEngineView und QWidget in 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

Ihre Frage ein wenig unklar. Bitte geben Sie ein wenig mehr Informationen darüber, was Sie zu tun versuchen und was nicht funktioniert. –

Antwort

1

Sie ein Layout verwenden müssen, zu platzieren, QWebEngineView und seine Kinder Klassen sind 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

Das ist eine andere Frage, ich empfehle Ihnen, einen neuen Beitrag zu erstellen und sich dort Ihre Frage zu erklären. – eyllanesc

+0

Wenn meine Antwort Ihnen hilft, es als korrekt zu markieren, bitte. – eyllanesc

+0

Danke, das ist was ich brauche –

Verwandte Themen