Как я могу добавить или импортировать изображение в QWidget
? Я нашел ключ. Я могу добавить Label
и добавить Picture
на эту этикетку. Мне нужны аргументы для QPicture()
. Вероятно, я могу использовать, QLabel.setPicture(self.QPicture)
.Как добавить изображение в QWidget в PyQt4
13
A
ответ
11
QPicture
не то, что вы хотите. QPicture
записи и повторы QPainter
команды. Что вы хотите - QPixmap
. Дайте имя файла конструктору QPixmap
и установите эту pixmap на метку, используя QLabel.setPixmap()
.
Пример реализации в Python будет:
label = QLabel()
pixmap = QPixmap('path_to_your_image')
label.setPixmap(pixmap)
18
Вот код, который делает то, что вы и @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
для отображения изображения.
-1
Используйте этот фрагмент код в вашем 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()
это ставит QLabel наверх всех виджетов у меня есть, как бы вы положили его за каждый виджет и всегда соответствовать ширине окна, если изменить размер? –