我试图让 QWebEngineView 透明。我在网上看到了一些东西,但这会使整个背景透明(即窗口,而不是“图像”)。我正在使用 Qt Designer 和 Python 3。
如果你看这个
您会看到 .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_())
给评论的人。当我使用与您相同的图像时,我得到了
。