1

いくつか質問があります。

フォームに表示する必要のあるPythonでいくつかの画像を生成するアルゴリズムがあります。私はこれにPyGtを使用しています。私の質問は、コードをどこで実行する必要があるかということです。イニシャライザから直接?その場合、私がテストしたところ、フォームは表示されません。

  • 0.5秒後にアルゴリズムを開始するタイマーをコンストラクターに設定する必要がありますか?
  • アルゴリズムを実行するとフォームがフリーズし、画像自体が表示されなくなりますか?現在の画像が表示されている限り、計算中にボタンやチェックボックスなどがフリーズしてもかまいません。
  • C#のOnFormLoad()のようなものを使用する必要がありますか?はいの場合、どうすれば設定できますか?connect()を介して?
  • Pythonではスレッド化はどのように機能しますか?聞いたことはありますが、それについてはよくわかりません。対処するのが面倒だったのです。それは...ですか?C#では、4行を書くのと同じくらい簡単です。できれば使いたいのですが、実装が難しい場合はなくても大丈夫です。

ありがとう

4

2 に答える 2

4

マンデルブロの例を確認してください。

基本的には、ワーカー スレッドを使用して重い計算を実行し (シグナル/スロットを使用してメイン スレッドとの通信を容易にする QThread をお勧めします)、作業が完了すると、計算されたデータを含むシグナルを送信し、メインスレッドにペイントさせます。必要に応じて、ワーカー スレッドで画像をレンダリングすることもできます。

于 2009-11-11T13:20:39.297 に答える
1

別のスレッドでアルゴリズムを実行し、終了時にデータをキューに入れることができます。メインスレッド(GUI)は定期的にキューをサンプリングし、到着時にデータを表示します。

于 2009-11-11T13:16:06.443 に答える