cuamckuu / docker-fluxbox

0 stars 0 forks source link

Попробовать работу через QtWebView #1

Open cuamckuu opened 3 years ago

cuamckuu commented 3 years ago

Проблема

Использование Firefox жрёт много места на диске и более требовательно к железу при запуске.

Решение

Стоит попробовать pyqt и его WebView для лучшей производительности. Когда я пробовал без докера, получал только чёрный экран, возможно запуск в докере поможет.

cuamckuu commented 3 years ago

Примерные наработки для этого:

import sys

from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication, QAction, QMainWindow
from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInterceptor
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage, QWebEngineProfile

class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        super(MainWindow,self).__init__(*args, **kwargs)
        #self.setFixedSize(640, 480)
        self.showMaximized()

        self.browser = QWebEngineView()
        self.profile = QWebEngineProfile()

        page = QWebEnginePage(self.profile, self.browser)
        page.setUrl(QUrl("https://ya.ru"))

        self.browser.setPage(page)
        self.browser.show()

        self.init_ui()
        self.setCentralWidget(self.browser)
        self.show()

    def init_ui(self):
        exitAction = QAction("UserAgent", self)
        exitAction.triggered.connect(lambda x: print(self.browser.page().profile().httpUserAgent(), flush=True))

        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exitAction)

app = QApplication(sys.argv)
window = MainWindow()
app.exec_()