Ich entwickle eine Pyside6 -Anwendung, die eine Webansicht mit Qwebengineview integriert. Ich stoße jedoch auf ein Problem, bei dem ein statischer Rahmen der Website der Weboberfläche oben auf der tatsächlichen Arbeitswebsite angezeigt wird. Darüber hinaus bemerkte ich, dass die Overlay -Frame -Updates, wenn ich eine Taste drücke, den aktuellen Status der Website zu diesem Zeitpunkt angezeigt hat. Dieses Problem tritt bei einer Website auf, nicht nur bei Google Earth. /p>
Rahmen oben, Working -Website darunter
< /p>
Hier ist ein Code -Ausschnitt des Teils, der dem Designer -SetupUi hinzugefügt wurde: < /p>
self.stackedWidget.addWidget(self.widgets)
self.new_page = QWidget()
self.new_page.setObjectName(u"new_page")
self.verticalLayout_20 = QVBoxLayout(self.new_page)
self.verticalLayout_20.setObjectName(u"verticalLayout_20")
self.GoogleEarth = QWebEngineView(self.new_page)
self.GoogleEarth.setObjectName(u"GoogleEarth")
self.verticalLayout_20.addWidget(self.GoogleEarth)
self.GoogleEarth.setUrl(QUrl("https://earth.google.com/web/"))
self.stackedWidget.addWidget(self.new_page)
self.verticalLayout_15.addWidget(self.stackedWidget)
< /code>
Hier ist die Hauptquote mit Hauptwindow -Klasse: < /p>
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
# SET AS GLOBAL WIDGETS
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
# self.ui.configureWebEngine(self)
global widgets
widgets = self.ui
# USE CUSTOM TITLE BAR | USE AS "False" FOR MAC OR LINUX
Settings.ENABLE_CUSTOM_TITLE_BAR = True
# APP NAME
title = "test"
description = "test"
# APPLY TEXTS
self.setWindowTitle(title)
widgets.titleRightInfo.setText(description)
# TOGGLE MENU
widgets.toggleButton.clicked.connect(lambda: UIFunctions.toggleMenu(self, True))
# SET UI DEFINITIONS
UIFunctions.uiDefinitions(self)
# QTableWidget PARAMETERS
widgets.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
# BUTTONS CLICK
# LEFT MENUS
widgets.btn_home.clicked.connect(self.buttonClick)
widgets.btn_widgets.clicked.connect(self.buttonClick)
widgets.btn_new.clicked.connect(self.buttonClick)
widgets.btn_save.clicked.connect(self.buttonClick)
# EXTRA LEFT BOX
def openCloseLeftBox():
UIFunctions.toggleLeftBox(self, True)
widgets.toggleLeftBox.clicked.connect(openCloseLeftBox)
widgets.extraCloseColumnBtn.clicked.connect(openCloseLeftBox)
# EXTRA RIGHT BOX
def openCloseRightBox():
UIFunctions.toggleRightBox(self, True)
widgets.settingsTopBtn.clicked.connect(openCloseRightBox)
# SHOW APP
self.show()
# SET HOME PAGE AND SELECT MENU
widgets.stackedWidget.setCurrentWidget(widgets.home)
widgets.btn_home.setStyleSheet(UIFunctions.selectMenu(widgets.btn_home.styleSheet()))
# BUTTONS CLICK
# Post here your functions for clicked buttons
def buttonClick(self):
# GET BUTTON CLICKED
btn = self.sender()
btnName = btn.objectName()
# SHOW HOME PAGE
if btnName == "btn_home":
widgets.stackedWidget.setCurrentWidget(widgets.home)
UIFunctions.resetStyle(self, btnName)
btn.setStyleSheet(UIFunctions.selectMenu(btn.styleSheet()))
# SHOW WIDGETS PAGE
if btnName == "btn_widgets":
widgets.stackedWidget.setCurrentWidget(widgets.widgets)
UIFunctions.resetStyle(self, btnName)
btn.setStyleSheet(UIFunctions.selectMenu(btn.styleSheet()))
# SHOW NEW PAGE
if btnName == "btn_new":
widgets.stackedWidget.setCurrentWidget(widgets.new_page) # SET PAGE
UIFunctions.resetStyle(self, btnName) # RESET ANOTHERS BUTTONS SELECTED
btn.setStyleSheet(UIFunctions.selectMenu(btn.styleSheet())) # SELECT MENU
if btnName == "btn_save":
print("Save BTN clicked!")
# PRINT BTN NAME
print(f'Button "{btnName}" pressed!')
# RESIZE EVENTS
def resizeEvent(self, event):
# Update Size Grips
UIFunctions.resize_grips(self)
# MOUSE CLICK EVENTS
def mousePressEvent(self, event):
# SET DRAG POS WINDOW
self.dragPos = event.globalPos()
# PRINT MOUSE EVENTS
if event.buttons() == Qt.LeftButton:
print('Mouse click: LEFT CLICK')
if event.buttons() == Qt.RightButton:
print('Mouse click: RIGHT CLICK')
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setWindowIcon(QIcon("icon.ico"))
window = MainWindow()
window.show()
sys.exit(app.exec())
< /code>
Was ich ausprobiert habe: < /p>
[*] Erzwingen Sie ein Repaint und Update: Ich habe versucht, Repaint () und Update (Update (Update () zu erzwingen ) Methoden auf der qwebengineview nach dem laden laden laden. : Ich habe einen QTimer verwendet, um ein Update nach einer kurzen Verzögerung zu erzwingen.
[/u]
Qwebgineview in pyside6 zeigt eine statische Überlagerung über den dynamischen Inhalt ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post