[過去ログ] スレ立てるまでもない質問はここで 159匹目 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
253(1): デフォルトの名無しさん [] 2022/02/27(日) 00:28:06.43 ID:EPp3U+v4(1/2) AAS
スクショやったことないけど
一回あたりの撮影・保存にsleepとか挟んでないせいで
わずかなハングが連打されて固まってみえるんじゃないか
269: デフォルトの名無しさん [] 2022/02/27(日) 17:04:43.61 ID:EPp3U+v4(2/2) AAS
>>261261(1): デフォルトの名無しさん [] 2022/02/27(日) 15:44:32.52 ID:1y5GAeJx(1/2) AAS
>>252
>>253
ありがとうございます。
スタートボタンを押したら実行される関数で、テキストボックスから値をとってきたりもNGなんでしょうか?
下記ではstart後にstopが押せず5秒ごとに永遠にスクショを取り続けてしまいます。。
スレッドで実行する関数
def getSSActiveWindow(Groupname, INTERVAL_SS):
global ON_LOOP
while ON_LOOP:
hdwd = win32gui.GetForegroundWindow()
rect = win32gui.GetWindowRect(hdwd)
SS_JPG = ImageGrab.grab()
croped_screenshot = SS_JPG.crop(rect)
mkdir_SS(Groupname)
croped_screenshot.save("./" + Groupname + "/" + str(fname(Groupname)))
time.sleep(INTERVAL_SS)
スタートボタンを押したら実行される関数
def Start():
global ON_LOOP
ON_LOOP = True
Group_name = text.get()
Interval_time = float(text2.get())
thread_main = threading.Thread(target=getSSActiveWindow(Group_name, Interval_time))
thread_main.start()
スタートボタン生成とStart()の呼び出し
start_button = tkinter.Button(app, text="start", command=Start)
ごちゃごちゃしてわからんくなったらシンプルな形で試してみよう
tkinter自身は「外部からのキル信号を受ける別threadのwhileループ」を表現できる
afterが動いてwhileがハングするなら、そのループはmainloop側で回ってるわよ、たぶん
こういうのがやりたいんだしょ?
import tkinter as tk
import threading
import time
def on_start():
__sub_thread = threading.Thread(target=job)
__sub_thread.start()
def on_stop():
__global flg
__flg = False
def job():
__done = 0
__while flg:
____done += 1
____print(done)
____time.sleep(1)
root = tk.Tk()
flg = True
start = tk.Button(root, text='start', command=on_start).pack()
stop = tk.Button(root, text='stop', command=on_stop).pack()
root.mainloop()
あとtk/tclスレか(あんのか?) pythonスレで続きやろう
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s