본문 바로가기

개발자 모드/파이썬(python)

파이썬 스레드 최고의 예제

728x90
import time
from PIL import ImageGrab
from functools import partial
import tkinter as tk
from tkinter import *
import pyautogui
import threading

game_cnt = 0 
bFlag = False

def thr_1() :
    
    global bFlag
    bFlag = True
    global game_cnt    
    while bFlag == True : 
        # print(game_cnt)        
        show_game_count.delete(0, "end")
        show_game_count.insert(0, str(game_cnt))        
        time.sleep(1)
        game_cnt = game_cnt + 1
      


def start_btn():

    t = threading.Thread(target = thr_1)
    t.start()



def stop_btn() :
    global bFlag
    bFlag = False
    print()


root = Tk()
root.title('게임 횟수 카운터')
root.geometry("420x360+300+100") # 가로*세로 + x좌표 + y좌표
root.resizable(False, False)     
root.wm_attributes("-topmost",1)
root.attributes('-toolwindow', True)




# #접두사 적용 프레임
cnt_frame =LabelFrame(root, text ="횟수")
cnt_frame.pack(fill ="x", padx = 5, pady = 5, ipady=5)

show_game_count = Entry(cnt_frame)
show_game_count.pack(side ="left", fill ="x", expand = "True", padx = 5, pady = 5, ipady = 4 )  # ipady : 높이 변경


        
    
    
start_btn_show = Button(root, text='시작', width=40, command=start_btn)
start_btn_show.pack(padx = 5, pady =5, ipady = 4 )

stop_btn_show = Button(root, text='정지', width=40, command= stop_btn)
stop_btn_show.pack(padx = 5, pady =5, ipady = 4 )

root.mainloop()

 

 

 

 

 

시작 버튼을 눌렀을때 횟수의 카운터가 1초마다 상승한다.

 

정지를 누르면 멈춘다

728x90