Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterで無限ループを実行するにはどうすればよいですか?


Tkinterで無限ループを実行するには、afterメソッドを使用して、ユーザーがループを停止することを決定するまで、指定された期間の後にメソッドを再帰的に呼び出します。簡単な例を見て、無限ループを開始および停止する方法を見てみましょう。

ステップ-

  • 必要なライブラリをインポートし、tkinterフレームのインスタンスを作成します。

  • win.geometryメソッドを使用してフレームのサイズを設定します。

  • 次に、自分自身を再帰的に呼び出してウィンドウにステートメントを出力するユーザー定義関数「infinite_loop」を作成します。

  • infinite_loopを制御するために、さらに2つのユーザー定義関数start()とstop()を定義します。グローバル変数「条件」を定義します。 start()内で、condition =Trueを設定し、stop()内で、condition=Falseを設定します。

  • start()関数とstop()関数を呼び出す2つのボタンを作成します。

  • after()メソッドを使用して、1秒ごとにinfinite_loopを再帰的に呼び出します。

  • 最後に、アプリケーションウィンドウのメインループを実行します。

# Import the required library
from tkinter import *

# Create an instance of tkinter frame
win=Tk()

# Set the size of the Tkinter window
win.geometry("700x350")

# Define a function to print something inside infinite loop
condition=True
def infinite_loop():
   if condition:
      Label(win, text="Infinite Loop!", font="Arial, 25").pack()

   # Call the infinite_loop() again after 1 sec win.after(1000, infinite_loop)

def start():
   global condition
   condition=True

def stop():
   global condition
   condition=False

# Create a button to start the infinite loop
start = Button(win, text= "Start the Loop", font="Arial, 12", command=start).pack()
stop = Button(win, text="Stop the Loop", font="Arial, 12", command=stop).pack()

# Call the infinite_loop function after 1 sec.
win.after(1000, infinite_loop)

win.mainloop()

出力

このコードを実行すると、次の出力が生成されます-

Tkinterで無限ループを実行するにはどうすればよいですか?

「ループの開始」ボタンをクリックして、「無限ループ」を出力し続ける無限ループを実行します。毎秒後。 [ループを停止]をクリックして、無限ループを停止します。


  1. tkinterウィンドウを閉じるにはどうすればよいですか?

    tkinterを使用してアプリケーションを作成するのは簡単ですが、タイトルバーのボタンを使用せずにウィンドウまたはフレームを閉じることが困難になる場合があります。このような場合、 .destroy()を使用できます ウィンドウを閉じる方法。 tkinter属性は互いに独立しているため、ボタンを使用してウィンドウを閉じる別のメソッドを作成できます。 例 #Import the library from tkinter import * #Create an instance of window win = Tk() #Set the geometry of the window win.g

  2. Windows 10 の無限再起動ループを修正する方法

    マシンの電源を適切にオンにした後、Windows が起動に失敗することからわかるように、簡単に識別できます。代わりに、マシンは、再起動して Windows を再インストールしようとする前に、ログイン ページに到達できません。これは、Windows がブートとクラッシュの果てしないサイクルでスタックした場合の意味です。以前のバージョンの Windows では、無限のブート ループにより、完全な再インストールが必要になるか、少なくともかなりの手間がかかる場合がありました。 Microsoft が Windows 10 を設計した方法のおかげで、再起動ループをすばやく処理できます。 Windows