Frage

Ich habe ein paar Fragen.

Ich habe einen Algorithmus, der ein paar Bilder in Python generieren, die auf einem Formular angezeigt werden müssen. Ich verwende PyGt dafür. Meine Frage ist: Wo soll ich meinen Code ausführen? Von initializer? In diesem Fall von dem, was ich getestet, wird das Formular nicht auf.

  • Should stelle ich einen Timer in der oben Konstruktor, der mein Algorithmus beginnt eine halbe Sekunde später?
  • Will läuft der Algorithmus mein einfrieren bildet es unmöglich zu sehen, die Herstellung Bild selbst? Ich bin nicht dagegen, dass die Schaltflächen, Kontrollkästchen usw. Einfrieren während es wird die Berechnung, solange die aktuelles Bild ist noch sichtbar.
  • Sollte ich so etwas wie c # 's (OnFormLoad)? Wenn ja, wie kann ich es? (Through connect)?
  • Wie die Arbeit an Python hat Threading? Ich habe gehört, aber ich bin nicht sicher, darüber, dass es ein Schmerz zu viel mit. Ist es? In c # ist es so einfach wie Schreiben von 4 Zeilen. Ich möchte es benutzen wenn möglich, aber wenn es sein wird, Ich schwer, es zu implementieren leben ohne sie.

Danke

War es hilfreich?

Lösung

Sie möchten vielleicht die Mandelbrots Beispiel .

Im Grunde ist die Idee, einen Worker-Thread zu verwenden, um die schweren Berechnungen zu tun (ich würde eine QThread vorschlagen, die Kommunikation zu dem Haupt-Thread zu erleichtern durch die Signale / Slots verwendet wird), dann einmal die Arbeit emit ein Signal mit der durchgeführt wird berechnete Daten und haben den Hauptthread es malt. Sie können auch das Bild in der Worker-Thread machen, wenn Sie mögen.

Andere Tipps

Sie können den Algorithmus in einem separaten Thread ausgeführt werden, die Daten in eine Warteschlange platzieren, wenn Sie fertig. Der Haupt-Thread (GUI) wird in regelmäßigen Abständen in die Warteschlange abzutasten und die Daten angezeigt werden, wenn es ankommt.

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