QPixmap Befehl funktioniert nicht

  • Hallo liebe Forengemeinde,


    ich bin auch noch relativ neu in Sachen Raspberry und vorallem im Python. Vieles schuster ich mir nach bestem Wissen zusammen und teste ob es funktioniert. Mein derzeitiges Projekt soll ein Schreiautomat sein, der ein Bild schießt, sobald jemand lang und laut genug schreit. Derzeit eigentlich nur laut genug, weil ich das ganze nur als Digital Signal empfangen kann.


    Soweit funktioniert das auch. Der Schwellwert wird überschritten und ein Foto wir gemacht. Anschließend speichert das Script das Bild in einem Ordner.


    Die GUI habe ich mit dem QT Designer gebastelt und dort ein QLabel erstellt, in welches das Bild nach dem Speichern geladen werden soll. Und hier hakt es.


    Die Stelle (hier passiert leider nichts) ist der Knackpunkt. Die Labelbezeichnung stimmt auf jeden Fall, da folgendes Script eben funktioniert:

    Im zweiten Script funktionert der setPixmap Befehl ganz wunderbar und beim Click auf den Button lädt das Label das Bild.


    Ich weiß absolut nicht mehr, was ich noch machen könnte. Hat jemand eine Idee? Die Shell zeigt auch keine Fehlermeldung an.


    Viele Grüße


    Illef wars

  • hatte ich auch schon probiert. Werde die os.path.join Methode mal nutzen.


    Was mich wundert, dass es im zweiten Codebeispiel funktioniert, obwohl dort auch keine absoluten Pfade vorhanden sind.

  • Moin


    Folgendes:


    1) Auf Modulebene befinden sich nur Konstanten, Klassen und/oder Funktionen/Methoden. Keine globalen Variablen verwenden. Keine * Importe, sondern nur das importieren, was man braucht. Kommentare, welche offensichtliches beschreiben, gehören alle weg. Kommentare müssen einen Mehrwert haben (zB eine Erklärung einer komplizierten Funktion, einer Abhandlung, eines Algorithmus etc.)


    2) Trenne die GUI von der Programmlogik. Schau auch mal unter https://github.com/Werkov/PyQt4/tree/master/examples nach. Da findest du Beispiele, auf welchen du aufbauen kannst


    3) Halte Abstand von os.system() und verwende das picamera Modul https://picamera.readthedocs.io/en/release-1.13/


    4) while True hat in einer GUI nichts zu suchen.


    5) Wenn alles bereinigt ist, dann geht's weiter ;)

  • Vielen Dank erstmal für die Hinweise. Ich habe jetzt erstmal mein Bestes probiert. Bei den Kommentaren bitte ich erstmal noch um etwas Nachsicht. Einige habe ich drin gelassen, zur eigenen Orientierung. Die PiCamera Klasse habe ich eingebaut. Fotos werden aufgenommen und die GUI lädt auch. Was du genau mit der Trennung von GUI und Programmlogik meinst, konnte ich leider noch nicht so richtig umsetzen, bzw. verstehen.


    Der aktuelle Code sieht nun so aus:


    Achja das import * Problem habe ich ehrlich gesagt noch nicht lösen können, weil ich nicht weiß, was ich alles importieren soll?!


    Der QPixmap Befehl funktioniert weiterhin nicht. Bin bereit für neue Hilfestellung :)