PDF-Datei in einer von QT Designer generierten Form anzeigen
Verfasst: Samstag 8. November 2025, 20:20
Ich komme aus Richtung MS Visual Studio. Leider sind die Möglichkeiten einer solchen IDE nicht zur Programmierung von Python verfügbar, aber Python ist genau das, was ich momentan programmiere. Ich nutze dazu IDLE und QT Designer auf einer Linux-Maschine.
Ich habe also in QT Designer eine Form generiert, in welcher ich ein QWidget eingefügt habe, welche ich u. a. mit einem Platzhalter für benutzerdefinierte Widgets versehen habe - dem QPdfView. Alles andere funktioniert einwandfrei. Ich kann Daten aus einer SQLite-DB nutzen, ich kann Listen generieren, ich kann beim Klick auf die Listen Aktionen ausführen - nur das Anzeigen einer simplen PDF-Datei funktioniert nicht.
Das QWidget hat die erforderlichen Methoden, wie z. B. "setPageMode(QPdfView.PageMode.MultiPage)", lt. IDLE nicht.
Die kennzeichnenden Stellen in der Form sind:
self.QWidget = QPdfView(Dialog)
self.QWidget.setObjectName(u"qwidget")
Ich kann weder mit dem Widget noch mit dem Objektnamen irgendwas veranstalten. Was übersehe ich denn hier? Bei einem Test mit einem Platzhalter für eine QWebEngine konnte ich ohne Weiteres Internet-Seiten anzeigen. Ein Anzeigen von PDF-Dateien hat auch hier nicht funktioniert.
Beispiele ohne vorgefertigte Form, in welcher die Form zur Laufzeit erstellt wird, funktionieren ja schließlich auch.
Ich habe also in QT Designer eine Form generiert, in welcher ich ein QWidget eingefügt habe, welche ich u. a. mit einem Platzhalter für benutzerdefinierte Widgets versehen habe - dem QPdfView. Alles andere funktioniert einwandfrei. Ich kann Daten aus einer SQLite-DB nutzen, ich kann Listen generieren, ich kann beim Klick auf die Listen Aktionen ausführen - nur das Anzeigen einer simplen PDF-Datei funktioniert nicht.
Das QWidget hat die erforderlichen Methoden, wie z. B. "setPageMode(QPdfView.PageMode.MultiPage)", lt. IDLE nicht.
Die kennzeichnenden Stellen in der Form sind:
self.QWidget = QPdfView(Dialog)
self.QWidget.setObjectName(u"qwidget")
Ich kann weder mit dem Widget noch mit dem Objektnamen irgendwas veranstalten. Was übersehe ich denn hier? Bei einem Test mit einem Platzhalter für eine QWebEngine konnte ich ohne Weiteres Internet-Seiten anzeigen. Ein Anzeigen von PDF-Dateien hat auch hier nicht funktioniert.
Beispiele ohne vorgefertigte Form, in welcher die Form zur Laufzeit erstellt wird, funktionieren ja schließlich auch.