Frage

Ich schreibe ein Timer-Programm in Python PyGTK verwenden. Es ist präzise auf die Hundertstel. Gerade jetzt, ich bin mit einem ständig aktualisierten Etikett. Dies ist ein Problem, denn wenn ich die Größe des Fensters, während die Zeit läuft, Pango öfter als nicht einige verrückte Fehler und mein Programm beendet wirft. Es ist nicht immer der gleiche Fehler, aber andere, die ich ist eine Form gescheiterten Unentschieden nehmen. Auch ist das Label-Updates langsamer und langsamer als ich die Schriftgröße erhöhen.

Also, ich frage mich, ob es ein richtiger Weg ist, den Timer angezeigt werden soll. Gibt es eine stabilere Methode als ständig ein Etikett zu aktualisieren?

War es hilfreich?

Lösung 2

dachte ich, das Problem. Es war in der Tat ein Problem mit den Fäden. Ich würde nie, dass mir geraten haben. Der Trick ist, zu verwenden gobject.timeout_add () einen Zeitgeber anstelle einer Gewindeschleife zu schaffen. Hier sind einige Informationen über gobject.timeout_add ():

  

http://faq.pygtk.org/index Py? erf = Show & file = faq01.021.htp

Vergessen Sie nicht, Ihre Funktion Rückkehr Getreu haben, oder der Timer stoppt.

Andere Tipps

sollte ein Etikett aktualisiert perfekt zuverlässig arbeiten, so dass ich vermute, Sie sind etwas anderes falsch zu machen. Sind Sie mit Threads? Wie sieht Ihr Code aussehen? Wie klein können Sie kondensieren Ihr Programm (durch Funktionalität zu entfernen, nicht durch den Code Verschleiern), ohne das Problem zu machen weggehen?

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