RaspberryPi Gallerie mit scrollbaren Bildern und Funktion von transparentem Text über Bilder

  • Hallo @lle,

    ich verzweifle momentan an folgendem Problem:

    Ich versuche auf meinem RaspberryPi 4 eine Art Gallerie darzustellen. Dabei sollen Bilder und Bildtexte (XXX_img.jpg, XXX_info.txt, XXX_title.txt) aus einem Ordner in Anzahl bestimmt und abgebildet werden können. Das soll auf einem Raster von 3x2 Feldern geschehen. Über einen Scrollbalken oder von mir aus auch aus 2 Buttons (mit Pfeil nach oben und unten) soll man über alle Bilder scrollen können. Folgendes Bild soll den geplanten Aufbau darstellen:

    Dabei sind die grauen Felder: oben fixe unbewegliche Felder, eine laufende Zeit, sich veränderter Text/Zahlenwert rechts unten und sich veränderte Infos darüber.

    In grün die Bilder (XXX_img.jpg), darunter Bildtitel (XXX_title.txt) und daneben ein Info-Button das auf Klick über das jeweilige Bild einen transparenten Text (XXX_info.txt) über das Bild blendet und ein erneuter Klick es wieder ausblendet. Klickt man auf ein Bild, sollen bestimmte Anweisungen durchgeführt werden.

    In rot und grün 2 Buttons mit hinterlegten Funktionen.

    Ich bin noch relativ neu in python und RaspberryPi unterwegs und bekomme das einfach nicht hin. Ich habe es mit Frames von tkinter versucht. Ich schaffe es die Bereiche aufzuteilen. Doch das Frame mit der Scrollbar killt mich. Ich habe viel recherchiert, doch finde ich nicht mal was, wo ich in der Lage wäre, aus mehreren Beispielen meine Lösung zu schustern... Ich hoffe ihr könnt mir da weiterhelfen bzw. Tipps und Referenzen geben.

    Vielen Dank schonmal

  • RaspberryPi Gallerie mit scrollbaren Bildern und Funktion von transparentem Text über Bilder? Schau mal ob du hier fündig wirst!

  • Hallo,

    ich sag' mal so: das ist alles andere als einfach und überfordert Einsteiger und fortgeschrittene Einsteiger definitiv.

    Wenn du so was programmieren willst, brauchst du a) fundiertes Wissen über Klassen von Python, b) Erfahrung, wie man größere Projekte wie dieses sinnvoll auf div. Klassen aufteilst und c) so viel Verständnis von der Materie, dass die in der Lage bist, im Zweifelsfall die original Doku für Tk - also die Doku für die TCL API - auf Python zu übertrgen.

    Ansonsten musst du schon deinen Code zeigen. "Funktioniert nicht" ist kein brauchbarer Ausgangspunkt.

    Gruß, noisefloor

  • Hallo,

    ich sag' mal so: das ist alles andere als einfach und überfordert Einsteiger und fortgeschrittene Einsteiger definitiv.

    ich sag' mal so ;) ... nichts ist unmöglich, auch für (fortgeschrittene) Einsteiger nicht. Oftmals reicht es gerade für unser einer einen Hinweis, womit man sich tiefer beschäftigen sollte oder einen Tipp, wie es ein erfahrener Profi angehen würde. Den Rest kann man sich aneignen und sich einlesen und aus Codebeispielen anderer lernen. Zumindest ist das meine Vorgehensweise. Kein Projekt ist zu schwer oder zu groß, es ist nur eine nette Herausforderung :D

    Deinen Hinweis mit Klassen habe ich mitgenommen und mich da auch bereits eingearbeitet. Das andere mit dem Tk in Python zu übertragen, habe ich nicht ganz verstanden, was mit gemeint ist. Es gibt doch bereits Tk/tkinter in Python?

    Ansonsten musst du schon deinen Code zeigen. "Funktioniert nicht" ist kein brauchbarer Ausgangspunkt.

    Leider hatte ich zu dem Zeitpunkt keinen brauchbaren Code. Du hast da definitiv recht. "Funktioniert nicht" ist kein brauchbarer Ausgangspunkt! ^^ ... ich hatte mir gehofft, Tipps zu bekommen, wie man es mit welchen Modulen angehen könnte oder ob es bereits sowas ähnliches gibt.

    Jedenfalls bin ich jetzt um einiges weiter als davor. Ich habe das Problem herunter gebrochen in kleinere Etappen. Die Aufteilung des Bildschirms mit Frames, wie im Bild oben gezeigt, habe ich mit wenig Aufwand realisiert bekommen. Die Abstände zu einander passen nun auch. Und die Größe ist dynamisch abhängig von der Bildschirmauflösung/Größe. Den Bereich mit den Feldern zum Scrollen war etwas schwer, da ich aus sehr vielen Referenzen mir was eigenes zusammen gepuzzelt und gecodet habe, dass dann auch so läuft, wie gewünscht. Scrollen über Scrollbar und über Touch geht nun auch. Jetzt gehe ich den transparenten Text bzw. ein Popup-Fenster für die Infos an.

    Ich melde mich nochmal, wenn ich irgendwo nicht weiterkommen sollte. Dann aber auch mit Code ;)

  • Hallo,

    Zitat

    Es gibt doch bereits Tk/tkinter in Python?

    Richtig, das sollst du ja auch nutzen. Das tkinter-Modul ist ja "nur" ein pythonischer Wrapper um die Tcl-API von Tkinter. Nur ist in der Python-API nicht unbedingt alles enthalten, was die Tcl-API bietet, besonders bei low-level Operation. Und dann muss man über die entsprechende Methode der Python-API auf die Tcl-API zugreifen. Kommt aber in der Tat eher selten vor.

    Gruß, noisefloor

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!