Как я могу добавить изображение в QWidget в PyQt4 - PullRequest
14 голосов
/ 18 февраля 2010

Как добавить или импортировать изображение в QWidget? Я нашел ключ. Я могу добавить Label и добавить Picture в этот ярлык. Мне нужны аргументы для QPicture(). Вероятное, что я могу использовать, это QLabel.setPicture(self.QPicture).

Ответы [ 3 ]

17 голосов
/ 22 февраля 2010

Вот код, который делает то, что вы и @erelender описали:

import os,sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
window.setGeometry(0, 0, 400, 200)

pic = QtGui.QLabel(window)
pic.setGeometry(10, 10, 400, 100)
#use full ABSOLUTE path to the image, not relative
pic.setPixmap(QtGui.QPixmap(os.getcwd() + "/logo.png"))

window.show()
sys.exit(app.exec_())

Универсальный QWidget не имеет setPixmap().Если этот подход не работает для вас, вы можете посмотреть на создание собственного пользовательского виджета, производного от QWidget, и переопределить метод paintEvent для отображения изображения.

13 голосов
/ 18 февраля 2010

QPicture не то, что вы хотите. QPicture записывает и воспроизводит QPainter команды. То, что вы хотите, это QPixmap. Задайте имя файла конструктору QPixmap и установите для этого растрового изображения метку, используя QLabel.setPixmap().

Пример реализации на python:

label = QLabel() 
pixmap = QPixmap('path_to_your_image')
label.setPixmap(pixmap)
0 голосов
/ 28 октября 2017

Используйте этот фрагмент в вашем GUI-скрипте:

image = QtGui.QLabel(self)
image.setGeometry(50, 40, 250, 250)
pixmap = QtGui.QPixmap("C:\\address\\to\\your_image.png")
image.setPixmap(pixmap)
image.show()
...