我正在尝试在主窗口中获取背景图像,但无法使其正常工作。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QLabel
from PyQt5.QtGui import QIcon
from PyQt5 import QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtSvg import *
from PyQt5.QtWidgets import *
from abc import abstractmethod
class App(QMainWindow):
def __init__(self, parent=None):
super(App, self).__init__(parent=parent)
self.title = 'Title'
self.left = 500
self.top = 500
self.width = 440
self.height = 280
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
# ...
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
#view = TableScene(ex)
ex.show()
sys.exit(app.exec_())
我尝试过各种方法,但没有一种能正常工作。我发现以下代码是另一个主题的解决方案,但这只是给我一个黑色的背景,其余小部件都变得很落后。
oImage = QImage("table.png")
sImage = oImage.scaled(QSize(440, 280))
palette = QPalette()
palette.setBrush(QPalette.Window, QBrush(sImage))
self.setPalette(palette)
我不知道整个窗口是否变慢或发生了什么实际情况,但是下面的图片是使用上面的代码的部分窗口的屏幕截图,您可以看到它变黑了,滑块显示了所有以前的位置,无论如何都有些滞后。
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9DVXo0MC5wbmcifQ==” alt =“延迟”版本的图像'>
我也尝试过setStyleSheet,但我不知道这是我的语法错误还是执行方法错误。有谁知道正确的做事方法吗?
EDIT
这是我当前的窗口:
这是我要实现为当前窗口背景的图片,该图片称为“ table.png”:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9HVG5Tdy5qcGcifQ==” alt =“我想要作为背景的图片”>
这是我要执行的操作的可视化,由于我不知道该如何正确执行,因此这是在绘画中完成的:
“>
这是我使用其他主题的代码所得到的:
我正在尝试将背景图像添加到主窗口,但无法使其正常工作。从PyQt5.QtWidgets导入sys从PyQt5.QtGui导入QApplication,QWidget,QMainWindow,QLabel导入...
出现黑色背景的可能原因之一是QImage为空。 QImage为空是因为图像无效或图像路径不正确。在这种情况下,我认为是第二种情况,因为OP使用的是容易出错的相对路径。解决方案是使用脚本信息(例如其位置)构建绝对路径: