파이썬 GUI 만들기 (TKinter)

파이썬] TKinter GUI만들기 ep.6 - 위젯 주기적으로 업데이트하기, Threading

gomming 2020. 10. 1. 02:18

 

#SUN # TRON #TRX #KLAY #threading #tkinter

본문 끝에 전체 코드를 올려 놓았으니 필요하시면 참고하세요 ^^

아래 언급되지 않은 기능들은 이전 1~5편 글에서 확인하시면 됩니다.

지난 포스트에 올린 GUI에서 코인 시세를 자동으로 업데이트 하는 기능을 추가하였습니다.

파이썬 기본 기능인 threading 을 이용하면 특정 시간별로 함수를 반복 실행할 수 있어요.

#함수반복실행

 

아래 주요 코드 공유해드립니다.

import threading

def upd():
        Binance = ExchangeAPI().create_exchange('Binance')
        Upbit = ExchangeAPI().create_exchange('Upbit')
        Coinone = ExchangeAPI().create_exchange('Coinone')

        tick1 = Binance.get_ticker(CurrencyPair('USDT', 'SUN'))
        SUN=float(str(tick1).split()[6].split(',')[0])*1170
        tick2 = Upbit.get_ticker(CurrencyPair('KRW', 'TRX'))
        TRX=float(str(tick2).split()[6].split(',')[0])
        tick3 = Coinone.get_ticker(CurrencyPair('KRW', 'KLAY'))
        KLAY=float(str(tick3).split()[6].split(',')[0])
        print(tick2)
        print(tick3)
        lb_SUN.config(text='SUN: %0.1f'%(SUN))
        lb_TRX.config(text='TRON: %0.1f'%(TRX))
        lb_KLAY.config(text='KLAY: %0.1f'%(KLAY))

        
        threading.Timer(10, upd).start()
    upd()

 

이렇세 upd라는 함수를 threading.Timer 기능으로 10초마다 실행합니다.

 

upd 함수에서는 각 코인의 시세를 보여주는 라벨을 config기능으로 업데이트 합니다.

 

아래 실행 중인 영상을 보여드려요.

 

 

다음에는 시가 정보를 가져와서 증감율을 표시하고, 상승하락 여부를 색상으로

표시해주는 기능을 추가해 보도록 하겠습니다.

 

마지막으로 전체 코드 공유해 드립니다.

gom_gui.py
0.01MB