2017-08-28 3 views
-5

を削除し、私はそのが真の私はそれをしたい場合は、そのメッセージはそう https://hastebin.com/uhafehizok.vbs を離れて行くと、別のファイルを開きたいですラベルを置き、2秒待ってから破棄しますが、Tkinterウィンドウは2秒間待ってから、ラベルなしで開始します。 任意のアイデアTkinterのを置いて、私は「こんにちは」数秒後に を示すメッセージを表示しようとしているラベル

+6

必ず本文にコードを記入してください。理由はありません。 – SneakyTurtle

+0

申し訳ありませんが、これは初めての投稿です。 :) –

答えて

1

コードにはラベルが置かれ、2秒後にそれは破壊される。それは更新されていないので、実際にあなたのウィンドウに表示されることはありません。 これは、Tkのmainloopと入力したときと同様に、ウィンドウがループ内で更新され、変更が加えられたかどうかがチェックされます。あなたの場合、time.sleepを使用してこのチェックを禁止しています。

Tkinterの場合、タイミングを取りたい場合は、Tkinterのメインループ(これはミリ秒を使用します)のすべてを整理するために、常にafterメソッドを使用する必要があります。

コードを修正するには、ラベルを貼った後にroot.update()を追加します。 time.sleepはまだ待っている間にメインループをフリーズするので、より良い解決策はスリープへの呼び出しを取り除き、代わりにdestroyを2秒後にあなたのラベルに呼ぶことです。

root.after(2000, letsgolabel.destroy)のようになります。

*通常はこれが使用されているので、私はtk.Tk()へのアクセスとしてrootに言及しています。

関連する問題