Как добавить фотографию в PyQt5
Пытаюсь добавить фотографию таким способом:
import sys
from PyQt5 import QtWidgets, QtGui
application = QtWidgets.QApplication([])
window = QtWidgets.QWidget()
window.setWindowTitle("Photos")
image = QtWidgets.QGraphicsPixmapItem(QtGui.QPixmap("colors.png"))
image.setOffset(300, 300)
label = QtWidgets.QLabel()
label.setPixmap(image)
layout = QtWidgets.QVBoxLayout()
layout.addWidget(label)
window.setLayout(layout)
window.setGeometry(500,500,500,500)
window.show()
sys.exit(application.exec_())
Выдает ошибку
File "c:\Program Files\Python38\pyproj\qpixmap2.py", line 13, in <module>
label.setPixmap(image)
TypeError: setPixmap(self, QPixmap): argument 1 has unexpected type 'QGraphicsPixmapItem'
Понимаю в чем заключается ошибка, но не понимаю как ее исправить.
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
import sys
from PyQt5 import QtWidgets, QtGui, QtCore # + QtCore
application = QtWidgets.QApplication([])
window = QtWidgets.QWidget()
window.setWindowTitle("Photos")
#image = QtWidgets.QGraphicsPixmapItem(QtGui.QPixmap("colors.png")) # ---
#image.setOffset(300, 300) # ---
image = QtGui.QPixmap("im.png").scaled(300, 300) # +++ <<<-------
label = QtWidgets.QLabel()
label.setAlignment(QtCore.Qt.AlignCenter) # +
label.setPixmap(image)
layout = QtWidgets.QVBoxLayout()
layout.addWidget(label)
window.setLayout(layout)
window.setGeometry(500,500,500,500)
window.show()
sys.exit(application.exec_())
