Sequenz von Bildern in einer PyQt4-GUI anzeigen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

Sequenz von Bildern in einer PyQt4-GUI anzeigen

Beitragvon ichbinsisyphos » Montag 20. April 2009, 00:23

Ich würde mir gern schön langsam ein Programm basteln, mit dem ich animierte GIFs erstellen kann, dazu möchte ich die gegenwärtige Auswahl an Einzelbildern direkt in der GUI darstellen.

Codeschnippsel:

Code: Alles auswählen

   def play(self):
      wait = self.wait_box.value()/1000.
      for filename in self.new_filenames:
         print filename
         picture = QtGui.QPixmap(filename)
         self.display_area.setPixmap(picture)
         time.sleep(wait)


display_area ist ein QLabel, wait_box ist eine QSpinBox, in der ich die Zeit zwischen zwei frames angebe.

Das Problem hier im Moment ist, dass die Bilder nicht aktualisiert werden, er geht brav die Liste durch, die Ausgabe der filenames stimmt, aber angezeigt wird jeweils nur das letzte Bild der Sequenz.

Wo liegt das Problem?
jerch
User
Beiträge: 1622
Registriert: Mittwoch 4. März 2009, 14:19

Beitragvon jerch » Montag 20. April 2009, 01:22

Das Problem ist, daß Deine Methode bis zum letzten Bild wartet und der Gui-Loop zwischenzeitlich nicht zum Zuge kommt. (Dir Gui friert für die Dauer Deiner Methode komplett ein.)

Lösung:
Mit QTimer den Bildwechsel triggern.
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

Beitragvon ichbinsisyphos » Montag 20. April 2009, 02:00

Ja, ich hatte schon so eine Vermutung. Ich werd mir diese QTimer Class mal ansehen.

Danke.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder