次のボタンが押されるまでループを続けるプログラムを組みたくて試行錯誤しております。
色々試してココまで作成できたのですが行き詰ったので質問させていただきます。
Python3
1import tkinter 2from tkinter import messagebox 3from tkinter.scrolledtext import ScrolledText 4import asyncio 5import time 6import threading 7 8root = tkinter.Tk() 9root.geometry("250x400") 10#実行中判別フラグ 11flag=0 12 13def btn1(): 14 global flag 15 if flag == 0: 16 flag = 1 17 btn1.configure(text = "停止") 18 btn1['fg']='#dc143c' 19 loop = asyncio.get_event_loop() 20 loop.run_until_complete(mainloop()) 21 else: 22 flag=0 23 btn1.configure(text = "実行") 24 btn1['fg']='#000' 25 26# ボタン作成 27btn1 = tkinter.Button(root, text='実行',width=20,command=btn1) 28btn1.place(x=45, y=350)
現状
グローバル変数 flag が0になるまでループを繰り返すプログラムを作っているつもりです
btn1を押すとグローバル変数flagに1を入れて そこから非同期でループ処理を実行させれば
ループ処理が実行されて、またボタンが押せるように、なる予定だったのですが・・・
実際はボタンがグレーアウトしてしまいボタンが押せない状態になってしまいました。
やりたいこと
ボタンを押して無限ループのON OFFをしたい。
もしかしたら私のアプローチが間違ってるかもしれませんがよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/06 09:22