2

次のような新しいトップレベルウィンドウを作成する関数があります。

def createPreview():
    win = Toplevel(root)
    ...

この関数を次のように実行しても問題はありません。

createPreview()

しかし、新しいスレッドを使おうとすると、プログラムがフリーズします。私はこのコードを使用します:

_thread.start_new_thread(createPreview)

この問題を解決するにはどうすればよいですか?

必要な条件が1つあります。メインプログラムを終了するときに、この新しいスレッドを強制終了する必要があります。

4

1 に答える 1

1

別のスレッドでトップレベル ウィンドウを作成することはできません。Tkinter はシングル スレッドであり、メイン スレッドでのみ実行する必要があります。別のスレッドでウィジェットを作成することはできません。

于 2012-11-19T17:34:14.870 に答える