본문 바로가기
C++ 200제/코딩 IT 정보

파이썬 gui, tkinter Class 활용한 입력창, 버튼 [python]

by vicddory 2019. 6. 11.

간단한 파이썬 gui 프로그래밍 예제입니다. tkinter 활용했으며 결과 화면은 아래와 같습니다.


처음 실행하면 입력창, 버튼, 라벨이 보입니다.



간단한 gui 디자인 강좌간단한 gui 디자인 강좌



파이썬 gui 프로그래밍 예제 설명

  • 입력창 기본 값 : hello python
  • 라밸 기본 값 : empty
  • 버튼 기본 값 : 클릭

이 상태에서 클릭 버튼을 누르면 입력창의 텍스트 hello python + [button] 이 라벨 값으로 변경됩니다.



간단한 gui 디자인 강좌간단한 gui 디자인 강좌



파이썬 gui 창에서 키보드 엔터를 누르면 hello python + [return] 값이 라벨값으로 변경됩니다.



간단한 gui 디자인 강좌간단한 gui 디자인 강좌



전체 소스는 아래 첨부 파일 참조하세요.


Python GUI 프로그래밍 예제


gui_tkinter.py



전체 소스는 아래에 있습니다.



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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import tkinter
 
class SimpleApp(tkinter.Tk):
 
    def __init__(self, parent):
        tkinter.Tk.__init__(self, parent)
 
        self.parent = parent
        self.initialize()
 
    def initialize(self):
        self.grid()
 
        입력창 (파이썬 gui)
        self.entryValue = tkinter.StringVar()
        self.entry = tkinter.Entry(self, textvariable=self.entryValue)
        self.entry.grid(column=0, row=0, sticky='WE')
        self.entry.bind('<Return>', self.onPressEnter)
 
        # 버튼
        button = tkinter.Button(self, text='클릭',
                                command=self.onButtonClick)
        button.grid(column=1, row=0)
 
        # 이름표
        self.labelValue = tkinter.StringVar()
        self.label = tkinter.Label(self, fg='white', bg='orange',
                                   textvariable=self.labelValue)
        self.label.grid(column=0, row=1, columnspan=2, sticky='EW')
 
        # 초기값
        self.entryValue.set('hello python')
        self.labelValue.set('empty')
 
        self.entry.focus_set()
        self.entry.select_range(0, tkinter.END)
 
        self.geometry('200x200+500+300')
 
    def onPressEnter(self, event):
        print('enter')
 
        self.labelValue.set(self.entryValue.get() + '[return]')
        self.entryValue.set('')
 
    def onButtonClick(self):
        print('button')
 
        self.labelValue.set(self.entryValue.get() + '[button]')
 
 
app = SimpleApp(None)
app.title = '그래픽 유저 인터페이스'
app.mainloop()
cs


15~18번 라인 : 입력창

18번 라인에서 엔터<Return> 입력에 대한 이벤트를 설정합니다.


21~23번 라인 : 버튼

버튼 선언과 함께 Click 이벤트를 설정합니다.


26~29번 라인 : 라벨 (이름표)

27~28번 라인에서 색상을 설정하고, 29번 라인에서 행과 열, 크기를 설정합니다.


32~38번 라인 : 초기화

파이썬 gui 요소들의 초기 값을 설정합니다. 38번 라인에서 창 크기를 지정합니다.


40~44번 라인 : 키보드 엔터<Return> 이벤트

엔터가 입력되면 입력창 텍스트에 [return] 문자열을 더한 결과를 라벨 값으로 설정합니다.


46~49번 라인 : 버튼 클릭 이벤트

버튼 클릭하면 입력창 텍스트에 [button] 문자열을 더한 결과를 라벨 값으로 설정합니다.



관련 글


파이썬 gui 터틀 그리기 예제, 별 삼각형 사각형 star triangle


[Qt프로그래밍] Thread를 GUI에서 효율적으로 사용 방법 [Qt5]


C# 그림판 - GDI 코딩배우기 (닷넷 윈폼 GUI 프로그래밍 강좌)



ⓒ written by vicddory

댓글