QFileDialog - Bilddatei als pixmap verwenden

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
23z86
User
Beiträge: 4
Registriert: Montag 22. März 2021, 19:03

Hallo, ihr Lieben :)

Ich habe das folgende Problem:
Nach dem Auswählen einer Bildatei soll diese als pixmap in einem QLabel angezeigt werden.

Soweit meine Bemühung:

Code: Alles auswählen

    def uploadimg(self):
        image = QFileDialog.getOpenFileName(self, "Open a File...", "/home/")
        # die Variable file soll die Bilddatei beinhalten
        # self.label.setPixmap(file)
Leider funktioniert mein Ansatz - wie vermutet - nicht.
Hätte jemand einen soliden Ansatz?

Liebe Grüße
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na du musst schon ein QPixmap Objekt erzeugen, wenn die setPixmap Methode das will. Und das hat einen Filenamen-basierten konstruktor: https://doc.qt.io/qt-5/qpixmap.html#QPixmap-2
23z86
User
Beiträge: 4
Registriert: Montag 22. März 2021, 19:03

Problemchen gelöst :)

Code: Alles auswählen

    def uploadimg(self):
        file = QFileDialog.getOpenFileName(self, "Open a File...", "/home/", "Image files (*.jpeg *.jpg *.gif)")
        path = str(file[0])
        self.label.setPixmap(QPixmap(path))
Benutzeravatar
__blackjack__
User
Beiträge: 14133
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@23z86: Was soll der `str()`-Aufruf? Und der Code behandelt den Fall das der Benutzer den Dialog abbricht statt ein Bild auszusuchen nicht.
“It is easier to change the specification to fit the program than vice versa.” — Alan J. Perlis
Antworten