Frage

Ich habe einige Code:

l1 = clutter.Label()
l1.set_position(100,100)
for i in range(0,10):
    l1.set_text(str(i))
    time.sleep(1)

Das ist so konzipiert, eine Zählung von 1 bis 10 Sekunden auf dem Bildschirm in Unordnung zu zeigen, aber ich bin einen seltsamen Fehler. Als ich das Skript normalerweise der Bildschirm laufen läuft, wie es tun soll, aber es gibt keinen Text angezeigt, bis 10 Sekunden und sind. Wenn ich jedoch mit Haltepunkten in pdb laufe der Text erscheint nur in Ordnung.

Ich bin auch einen seltsamen Fehler beim Start des Programms erhalten:

do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try adjusting the vlank_mode configuration parameter.

Aber ich sehe nicht, warum, dass Sie den Code aus Bruchstellen beeinflussen würde, aber nicht in Unterbrechungspunkten.

Jede Hilfe wäre sehr geschätzt.

War es hilfreich?

Lösung

Nicht sicher, ob Sie bereits die Antwort auf diese herausgefunden haben, aber:

Der Grund, warum Sie dieses Problem haben, weil Sie den Haupt-Thread blockiert (wo alle Zeichnung auftritt) mit time.sleep () ruft, aus der Bibliothek verhindern, dass der Bildschirm neu erstellt.

z. Ihr Code wird dies derzeit tun:

  1. Clutter neu zeichnet den Bildschirm.
  2. Sie Schleife über 10 Sekunden und den Text zehnmal geändert werden.
  3. Clutter neu zeichnet den Bildschirm.

Wenn Sie etwas auf einem Timer Schlange stehen möchten, sollten Sie schauen in gobject.timeout_add .

Andere Tipps

Haben Sie versucht, Entsendung (oder Suche ) auf der Clutter-Mailingliste? Hier ist jemand, der die gleiche Nachricht über drmWaitVBlank zum Beispiel bekam.

Meine Vermutung der meisten Menschen auf SO würden mit der Lösung Clutter Probleme nicht vertraut sein. Ich weiß, ich bin nicht :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top