Comment puis-je ajouter ou importer une image dans un QWidget
? J'ai trouvé un indice. Je peux ajouter un Label
et ajouter un Picture
dans cette étiquette. J'ai besoin des arguments pour le QPicture()
. Le probable que je peux utiliser est QLabel.setPicture(self.QPicture)
.Comment puis-je ajouter une image à un QWidget dans PyQt4
13
A
Répondre
11
QPicture
n'est pas ce que vous voulez. QPicture
enregistre et rejette les commandes QPainter
. Ce que vous voulez, c'est QPixmap
. Donnez un nom de fichier au constructeur QPixmap
et définissez ce pixmap sur l'étiquette en utilisant QLabel.setPixmap()
.
Un exemple de mise en œuvre en python serait:
label = QLabel()
pixmap = QPixmap('path_to_your_image')
label.setPixmap(pixmap)
18
Voici un code qui fait ce que vous et @erelender décrit:
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_())
Un QWidget
générique n'a pas setPixmap()
. Si cette approche ne fonctionne pas pour vous, vous pouvez créer votre propre widget personnalisé qui dérive de QWidget
et remplacer la méthode paintEvent
pour afficher l'image.
-1
Utilisez cet extrait dans votre script 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()
cela met le QLabel ontop de tous les widgets que j'ai, comment voulez-vous mettre derrière chaque widget et toujours s'adapter à la largeur de la fenêtre si elle était redimensionnée? –