GUI란?

  그래픽 사용자 인터페이스(graphical user interface, GUI)는 사용자가 편리하게 사용 가능한 입출력 기능을 가진 프로그램을 아이콘, 그래픽등으로 나타낸 것입니다

사용자가 화면에 있는 여러 위젯 (버튼, 텍스트 입력창, 라벨 등) 이용하여 보다 편리하게 프로그램 사용 가능

파이썬은 티킨더(tkinter)를 이용해서 GUI 프로그래밍을 할 수 있습니다.

 

[  Tkinter가 제공하는 주요 위젯 ] 

Button 단순한 버튼
Label 텍스트 혹은 이미지 표시
CheckButton 체크박스
Entry 단순한 한 라인 텍스트 박스
ListBox 리스트 박스
RadioButton 옵션 버튼
Message Label과 비슷하게 텍스트 표시. Label과 달리 자동 래핑 기능이 있다.
Scale 슬라이스 바
Scrollbar 스크롤 바
Text 멀티 라인 텍스트 박스로서 일부 Rich Text 기능 제공
Menu 메뉴 Pane
Menubutton 메뉴 버튼
Toplevel 새 윈도우를 생성할 때 사용. Tk()는 윈도우를 자동으로 생성하지만 추가로 새 윈도우 혹은 다이얼로그를 만들 경우 Toplevel를 사용한다
Frame 컨테이너 위젯. 다른 위젯들을 그룹화할 때 사용
Canvas 그래프와 점들로 그림을 그릴 수 있으며, 커스텀 위젯을 만드는데 사용될 수도 있다

 

 

파이썬은 라이브러리를 사용하기 위해서는 위에 사용할 라이브러리를 선언해야 합니다

from tkinter import *     # *를 붙이는 이유는 tkinter의 모든 것을 사용한다는 뜻

window = Tk()            #T는 꼭 대문자 k는 꼭 소문자여야 합니다
window.geometry('500x200')   #실행창 크기를 지정합니다.
window.title("여기에다 제목을 쓰세요")

#메인 반복문 실행
window = mainloop()

 

파이썬 GUI 배경색을 변경해 보겠습니다.

  다음 코드를 추가해 보세요

#  배경색 바꾸기
window.configure(background='purple')

 

 

파이썬 레이블 위젯 - 글자 출력

   ★ 화면에 글자나 이미지를 보여주고자 할 때 레이블을 사용합니다.

파이썬 레이블 위젯
파이썬 레이블 옵션

[ 소스 코드 ]

from tkinter import *

window = Tk()
window.geometry('500x400')
window.title("파이썬 위젯 Label 공부하기")

label1 = Label(window, text = "파이썬 공부하기",
               font=("궁서체","24"),
               width=25, height=4, anchor=S,
               foreground="white",
               background="blue")

label1.pack()

#메인 반복문 실행
window.mainloop()

anchor은 위치를 잡아주는 인수 입니다.

   amchor 옵션은 사용되지 않은 공간을 기준으로 합니다. 

  즉, 우측에 빈공간이 생기면 이 빈공간의 중앙 상, 하, 좌 ,우에 위치합니다

   S / E / N / W / SE / SW / NE / NW / CENTER

  S는 아래, N은 위, E는 오른쪽 S는 왼쪽을 의미합니다.

 

파이썬 레이블 위젯 - 이미지 출력

파이썬 레이블 이미지

 

[ 소스 코드 ]

from tkinter import *

window = Tk()
window.geometry('500x400')
window.title("파이썬 위젯 Label 공부하기");


label1 = Label(window, text= "** 귀여운 강아지 사진 **" ,font=("굴림체", "20"))
label1.pack()


img = PhotoImage(file = "dog.png")
label2 = Label(window, image = img)
label2.pack()

#메인 반복문 실행;
window.mainloop()

 

▶ 버튼 위젯을 추가해서 버튼을 누르면 고양이 이미지로 변경되게 해보세요

from tkinter import *

window = Tk()
window.geometry('600x400')
window.title("파이썬 위젯 Label 공부하기");

def change():
    label1.config(text = "** 귀여운 고양이 사진으로 변경 성공 **")
    label2.config(image = cat)
    

label1 = Label(window, text= "** 귀여운 강아지 사진 **" ,font=("굴림체", "20"))
label1.pack()


dog = PhotoImage(file = "dog.png")
cat = PhotoImage(file = "cat.png")
label2 = Label(window, image = dog)
label2.pack()


button1 = Button(window, text="클   릭", command = change)
button1.pack()

#메인 반복문 실행;
window.mainloop()

 

★ 다음과 같이 만들어 보세요

파이썬  GUI

빨강색, 노란색, 파랑색, 보라색 버튼을 클릭하면 배경색이 변경됩니다.

출력1을 누르면 "출력1 버튼을 클릭하셨습니다 "라고출력합니다.

출력2을 클릭하면 "출력2 버튼을 클릭하셨습니다"라고 출력합니다.

from tkinter import *

#버튼1 함수
def click1():
    window.configure(background='red')

#버튼2 함수


#버튼3 함수


#버튼4 함수


#버튼5 함수


#버튼6 함수


   
window = Tk();
window.title("파이썬 공부하기")
window.geometry('500x200')


#레이블 출력
Label1 = Label(window, text = "버튼을 클릭해서 바탕화면의 색을 바꿔보세요........")
Label1.pack()


#버튼1
Bu1 = Button(window, text="빨강색", width=7, command=click1)
Bu1.pack()

#버튼2

#버튼3



#버튼4


#버튼5


#버튼6


#메인 반복문 실행
window.mainloop()


★ 출력2 버튼을 클릭하면 

#버튼6 함수
def prn2():
   Label1.config(text="안녕")
Posted by 명문코딩컴퓨터
,