[파이썬] `tkinter`로 데스크탑 위젯 만들기

Python은 tkinter 라이브러리를 사용하여 데스크탑 애플리케이션을 개발하는 강력한 도구를 제공합니다. tkinter는 Python에 기본으로 포함된 GUI 프레임워크로서 간단하고 직관적인 방법으로 사용자 인터페이스를 구축할 수 있습니다. 이번 블로그 포스트에서는 tkinter를 사용하여 데스크탑 위젯을 만드는 방법에 대해 알아보겠습니다.

tkinter 시작하기

tkinter를 사용하기 위해 다음과 같은 코드로 라이브러리를 임포트합니다.

import tkinter as tk

위젯 생성하기

tkinter로 위젯을 생성하려면 다음과 같은 코드를 작성합니다.

window = tk.Tk()  # 윈도우 생성

label = tk.Label(window, text="안녕하세요!")  # 라벨 생성
label.pack()  # 라벨을 윈도우에 배치

button = tk.Button(window, text="클릭하세요")  # 버튼 생성
button.pack()  # 버튼을 윈도우에 배치

window.mainloop()  # 윈도우를 실행

위 코드는 먼저 tk.Tk()를 사용하여 빈 윈도우를 생성합니다. 그런 다음 tk.Label()tk.Button()을 사용하여 라벨과 버튼을 생성합니다. 생성 된 위젯은 pack() 메서드를 사용하여 윈도우에 배치되어 화면에 표시됩니다. 마지막으로, window.mainloop()를 호출하여 윈도우가 유지되고 사용자 입력을 처리하도록 합니다.

이벤트 처리하기

사용자가 버튼을 클릭하거나 다른 상호 작용을 할 때를 위해 이벤트 처리를 구현할 수 있습니다. 다음은 버튼 클릭 시 라벨에 텍스트를 변경하는 예제입니다.

def change_label_text():
    label.config(text="클릭되었습니다!")

button.config(command=change_label_text)

위 코드에서는 change_label_text()라는 함수를 생성하여 label의 텍스트를 변경합니다. 그런 다음 buttoncommand 속성을 설정하여 버튼이 클릭될 때 함수가 호출되도록 합니다.

사용자 입력 받기

사용자가 텍스트를 입력하고 프로그램에서 이를 사용하려면 tkinterEntry 위젯을 사용할 수 있습니다. 다음은 텍스트를 입력 받는 예제입니다.

entry = tk.Entry(window)
entry.pack()

def get_entry_text():
    text = entry.get()
    print("입력된 텍스트:", text)

button.config(command=get_entry_text)

위 코드에서는 tk.Entry()를 사용하여 entry 위젯을 생성합니다. 사용자가 입력한 텍스트는 entry.get()을 사용하여 가져올 수 있습니다. 그리고 get_entry_text() 함수에서 이를 가져와서 출력하도록 합니다.

마치며

tkinter를 사용하면 Python으로 간단하고 효율적인 데스크탑 애플리케이션을 만들 수 있습니다. 이번 블로그 포스트에서는 tkinter로 위젯을 만들고 이벤트 처리를 하는 방법을 알아보았습니다. tkinter에는 더 많은 위젯과 기능이 있으며, 공식 문서를 참조하여 더 많은 기능을 탐색해 보시기 바랍니다.

Happy coding!