파이썬 (pythoon)

[python] Tk() tkinter GUI 기본구성 - 텍스트박스 실시간 log 표기(스크롤 연동)

working for you 2021. 5. 16. 00:07
반응형

class를 통해서 gui 구성 프로그램

[기본기능]

gui창 사이즈 : 800x760

타이틀명 : '자동화프로그램'

 

프로그램 시작시 텍스트 박스에 log가 표시된다.

표시정보는 datetime.now()를 사용해서 오늘날짜+현재시간을 리스트슬라이스해서 표기한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from tkinter import *
import datetime
 
class GUIT():
    def __init__(self):
        self.tkhandler = Tk()
        self.tkhandler.geometry('800x760')
        self.tkhandler.title('자동화프로그램')
 
 
 
        ###################공간띄우기##########################
        self.label_title = Label(self.tkhandler, text='')
        self.label_title.grid(row=0, column=0, sticky="w")
        ######################################################
 
        # 텍스트박스에 스크롤 연결
        self.scroll = Scrollbar(self.tkhandler, orient='vertical')
        self.lbox = Listbox(self.tkhandler, yscrollcommand=self.scroll.set, width=116)
        self.scroll.config(command=self.lbox.yview)
        self.lbox.grid(row=0, column=0, columnspan=5, sticky="s")
 
        # 1 시작시 보이는 메세지 'append_log'
        self.append_log('프로그램을 시작했습니다.')
 
    def append_log(self, msg):
global now
       self.now = str(datetime.datetime.now())[0:-7]
        self.lbox.insert(END, "[{}] {}".format(self.now, msg))
        self.lbox.update()
        self.lbox.see(END)
 
    def run(self):
        self.tkhandler.mainloop()
 
 
= GUIT()
g.run()
cs

 

실행결과 확인

반응형