前提・実現したいこと
Tkinterでのアプリケーションを開発しています。
現在、チェックボタンにチェックが入ったらループ処理が開始し、
チェックボタンを解除するとループから抜ける処理を行いたいです。
しかし、一度チェックが入るとループ処理に入り、それ以降チェック
ボックスが機能しないのですが、対処方法はありませんでしょうか。
thread処理やmultiprocessingなどの並列処理以外で対処できると
助かります。
該当のソースコード
Python
1import tkinter as tk 2import os.path 3import cv2 4from PIL import Image 5import csv 6import numpy as np 7import pathlib 8import time 9 10class main(): 11 def __init__(self): 12 13 root = tk.Tk() 14 root.geometry("300x300") 15 16 Frame=tk.Frame(root) 17 Frame.place(x=0, y=0, width=300, height=300) 18 19 self.var1=tk.StringVar() 20 self.var1.set("0") 21 22 checkbutton = tk.Checkbutton(Frame, text="test", variable=self.var1, command=self.check) 23 checkbutton.place(x=150, y=150) 24 25 root.mainloop() 26 27 def test(self): 28 print("test") 29 30 31 def check(self): 32 if self.var1.get()=="1": 33 while True: 34 self.test() 35 time.sleep(1) 36 if self.var1.get()=="0": 37 break 38 39 40 41if __name__=="__main__": 42 main()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。