2013-04-22 12 views
5

Ich habe begonnen, mit Segen zu spielen - bisher mag ich es sehr, weil es die Dinge viel einfacher macht. Allerdings habe ich versucht, den Bildschirm ohne Erfolg zu löschen ... enter_fullscreen scheint zu arbeiten, da das "löscht" es - aber exit_fullscreen bringt mich nicht zur ursprünglichen Ansicht zurück.Clear und exit_fullscreen scheint nicht zu funktionieren

term = blessings.Terminal() 
term.enter_fullscreen 

with term.location(): 
    print(term.move(0,(term.width/2)-7) + term.bold_green("Test Test Test")) 
    print(term.move(5,(term.width/2)-7) + term.bold_red("Test Test Test")) 

time.sleep(5) 
term.clear 
term.exit_fullscreen 

Dies funktioniert mit Ausnahme klar und exit_fullscreen es scheint. Es gibt keine Fehlermeldung oder irgendetwas, es scheint einfach nichts zu tun.

Weiß jemand, wie es funktioniert?

Edit: Weder

term.clear 

noch

term.clear() 

scheint zu funktionieren ...

edit2:

ich ziemlich viel kann dies tun und das Ergebnis ist das gleiche wie oben. Es macht die Färbung und Platzierung, aber nicht Clearing oder irgendetwas anderes.

term = blessings.Terminal() 

with term.location(): 
    print(term.move(0,(term.width/2)-7) + term.bold_green("Test Test Test")) 
    print(term.move(5,(term.width/2)-7) + term.bold_red("Test Test Test")) 

Antwort

1

Als ich durch Ihr Problem lesen (mit Blick auf dem gleichen selbst) Ich erkennen, dass ich vergessen hatte, dass alle Anrufe term.some_formatting() Wert zurückgegeben, die Sie dann ausdrucken mußten. Die Clear-Funktion gibt nur die entsprechenden Escape-Sequenzen zurück.

Wenn Sie hinzufügen: print(term.clear()) wenn Sie es gelöscht möchten, sollte es funktionieren.

Zusätzlich hatte ich Probleme mit ex_fullscreen, so habe ich den Wrapper-Stil Aufruf von Vollbild:

with term.fullscreen(): 
    a_function_or_some_code() 

, dass Sie Ihren vorherigen Zustand zurückkehren sollte den Codeblock beim Verlassen.

6

Genau wie bei allen anderen Fähigkeiten, die durch Blessings verfügbar gemacht werden, müssen sie print sie für jeden Effekt haben. Was unter dem Deckblatt passiert, ist, dass Ihr Terminalemulator auf bestimmte Sequenzen "hört" und dann reagiert, indem er Aktionen wie das Umschalten in den Vollbildmodus oder das Beenden des Vollbildmodus ausführt. Also, in Ihrem Fall, sagen print term.enter_fullscreen sollte den Trick tun. Lassen Sie mich wissen, wenn Sie weitere Probleme haben!

Verwandte Themen