Я пытаюсь получить фоновое изображение в своем главном окне, но не могу заставить его работать должным образом.
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_())
Я пробовал разные виды методов, но ни один из них не работает так, как он должен. Я нашел следующий код в качестве решения из другой топи c, но он просто дает мне черный фон, а остальные виджеты становятся лаги.
oImage = QImage("table.png")
sImage = oImage.scaled(QSize(440, 280))
palette = QPalette()
palette.setBrush(QPalette.Window, QBrush(sImage))
self.setPalette(palette)
Я не знаю, если все окно получает Лагги или что на самом деле происходит, но рисунок ниже - это скриншот части окна с использованием приведенного выше кода, и, как вы можете видеть, он становится черным, а ползунок показывает всю предыдущую позицию, в которой он находился, в любом случае, в некотором роде.
Я также попробовал setStyleSheet, но я не знаю, является ли мой синтаксис неправильным или это неправильный способ сделать это. Кто-нибудь знает способ сделать это правильно?
РЕДАКТИРОВАТЬ
Это мое текущее окно:
Это изображение Я пытаюсь реализовать в качестве фона для моего текущего окна изображение под названием "table.png":
Это визуализация того, что я пытаюсь сделать , и это сделано в краске, так как я не знаю, как это сделать правильно:
И это то, что я получаю, если я использую код из другой топи c: