PyQt5 Python Прозрачный QWebViewEngine - PullRequest
1 голос
/ 19 марта 2019

Я пытаюсь сделать QWebEngineView прозрачным. Я видел вещи в Интернете, но это сделало бы весь фон прозрачным (т.е. окно, а не «изображение»). Я использую Qt Designer и Python 3.

Если вы посмотрите на это

image

вы увидите, что .png прозрачен, но не показывает черный фон по умолчанию (IE на самом деле будет прозрачным). Я попытался автоматически заполнить фон и использовать настройки, такие как ".setAttribute (Qt.WA_TranslucentBackground, True)", но опять же это делает окно прозрачным, а не результаты веб-страницы.

Файл пользовательского интерфейса:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>800</width>
    <height>600</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0">
     <widget class="QWebEngineView" name="webEngineView">
      <property name="url">
       <url>
        <string>http://136.33.26.74/img/Work_In_Progress.png</string>
       </url>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>800</width>
     <height>30</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <customwidgets>
  <customwidget>
   <class>QWebEngineView</class>
   <extends>QWidget</extends>
   <header location="global">QtWebEngineWidgets/QWebEngineView</header>
  </customwidget>
 </customwidgets>
 <resources/>
 <connections/>
</ui>

Py-файл:

from PyQt5 import QtCore, QtGui, QtWidgets, uic
from PyQt5.QtWidgets import QMainWindow, QDialog, QTableWidget, QTableWidgetItem, QListWidget, QListWidgetItem, QLabel, QGraphicsPixmapItem, QDockWidget, QSplashScreen
from PyQt5.QtGui import QPixmap
from PyQt5.QtWebEngineWidgets import QWebEnginePage
from PyQt5.QtWebEngineWidgets import QWebEngineView
import os
import sys

class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        uic.loadUi(str(os.getcwd()) + "\\" + 'ui.ui', self)
        self.show()

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)

    window = MainWindow()
    sys.exit(app.exec_())

Человеку, который прокомментировал. Когда я использую то же изображение, что и вы, я получаю this .

1 Ответ

0 голосов
/ 20 марта 2019

Это известная ошибка в QtWebEngine QTBUG-59216

...