私はTkinterのでGUIを作成する方法を学習されていると疑問が私に起こりました。プログラムをテストしているときに、コードのインスタンスがバックグラウンドで既に存在している間にコードを構築することがよくあります。これらの2つは機能を果たすという点で互いに独立していますか?私はTk()のインスタンスを作成してmainloop()を実行すると、そのことを常に読んできました。別のTk()インスタンスに関係する場合、2つ以上のループを実行できますか?Tk()クラスの各インスタンスは、互いに独立して動作していますか?
答えて
はい、Toplevel
ウィジェットで作成されたもの以外にtkinter
のすべての個別のウィンドウは、独自のTk()
インスタンスで表され、そのようなウィンドウはいくつでも同時に存在できます。
私は専門用語の使用が適切であるかわからないからです。 「すべての個々のウィンドウ」は、「Toplevel」ウィジェットが「Tk()」によって表現されていることを意味するように見えます。これはfalseです。 –
@ブライアン修正のおかげで!私は実際には前に 'Toplevel'ウィジェットについて聞いたことはありませんでした。 – StardustGogeta
この文は偽です:_ "すべての個々のウィンドウ...は、それ自身の' Tk() 'インスタンス" _によって表されます。ウィジェットは木のような階層構造になっており、階層の最上部には単一のルートウィンドウ(および 'Tk'のインスタンス)があります。 'Tk'のインスタンスは1つしかありません。 –
Tk
の各インスタンスは、Tk
の他のインスタンスとは別個です。基礎となるtclインタプリタの独自のコピーを取得します。同じプロセスの2つのインスタンスTk
は、2つのアクティブなtclインタープリタを持つことを意味します。
一般的なルールとして、Tk
というインスタンスを1つだけ使用する必要がありますが、動作の仕組みを十分に理解していれば、2つ以上のインスタンスを持つことができます。
私は、これはあなたがそれらを行うべきではない理由を理解するまで、あなたがやるべきではない、物事のカテゴリに分類されると思います。一度理解すれば、あなたはそれをしたくないでしょう。
'Tk'の2つのインスタンスを実行するのがなぜ悪いのでしょうか? –
@SebastianFreeman:悪いことはありません。期待通りの行動を取ることはできません。 1つは、複雑なコードに常につながる複数のスレッドが必要です。複数の未亡人が必要な場合は、 'Tk'の2つのインスタンスを試してみるよりはるかに優れた解決策があります。 –
どの時点で複数のスレッドが必要ですか? –
- 1. 情報隠蔽とカプセル化は互いに独立していますか?
- 2. jQueryサイクル・プラグイン:複数のサイクル・インスタンスは独立して動作しますが、カウンタはありません
- 3. 独立したクラスからのビューコントローラクラスを操作します。
- 4. MCはOSライブラリとカーネルとは独立して動作しますか?
- 5. slideToggleは独立してリンクします
- 6. RubyのMarshallフォーマットアーキテクチャとRubyバージョンは独立していますか?
- 7. C++ stdライブラリのプラットフォームは独立していますか?
- 8. Eclipseのclasspath、junit.jar、import org.junit文は独立していますか?
- 9. AccessデータベースはMS Accessアプリケーションから独立していますか?
- 10. NSDateはタイムゾーンから独立していますか?
- 11. サービスはアクティビティライフサイクルから独立していますか?
- 12. Runtime.getRuntime()。exec()プラットフォームは独立していますか?
- 13. C++(03)SFINAEアスペクトコンパイラは独立していますか?
- 14. DialogFragmentオリエンテーションはメインアクティビティオリエンテーションから独立しています
- 15. 2つのMySQL関数が独立して動作しますが、結合されていない場合(RAND()?)
- 16. UICollectionViewの各セクションの独立したスクロール?
- 17. ファイルの各行を個別に、互いに独立して圧縮しますか? (または改行を維持する)
- 18. PHPスクリプトの速度を互いに独立して測定する方法は?さまざまな方法?
- 19. クラスから独立してXMLシリアル化メタデータを格納する
- 20. Pythonのループでクラスのインスタンスを作成していますか?
- 21. スクリプトを起動して、Linux上の親プロセスとは独立していますか?
- 22. 2つのクラスが互いに参照していますか?
- 23. 私のRSpecがブロックを互いに独立して記述するようにするには?
- 24. Androidは独立していて、異なるapkでサービスします
- 25. Unix環境下でコマンドラインから独立して動作するプログラムについて
- 26. クラスを持つjQueryの独立したセレクタを使って作業する
- 27. 独立したクラスのAndroidとSharedPreferences
- 28. ハイブは、各レコードに対して新しいUDFオブジェクトをインスタンス化しますか?
- 29. Firefoxは各クラスの背景イメージをダウンロードしていますか?
- 30. ControlTemplateの2つの独立したインスタンスをウィンドウで作成する方法は?
あなたは何を意味するか:。** 1 ** *私は、多くの場合、それのインスタンスが既にバックグラウンドで存在している間コードをビルド終わりますか*。? ** 2。** * 2つ以上のループを走らせることはできますか?*あなたは 'mainloop()'を意味しますか? –
私はコードをテストしていますが、プログラムの機能をテストするコードを実行します。コードを再実行する前に閉じていないことがあるので、同時に2つのインスタンスを実行していることがあります。私はこれらが2つの別々のインスタンスであるかどうか、そして私の思考が正しいかどうかを知りたかったのです。 –
はい、私はmainloop()を意味します。ありがとう。 –