반응형
▣ 환영인사 프로그램
customtkinter 라이브러리를 사용하여 300x300 크기의 창에 "인사" 버튼을 클릭하면 "Hello World" 문자열을 화면에 표시하는 간단한 GUI 프로그램입니다.

▷ 프로그램 코드
import customtkinter as ctk
def display_hello_world():
label.configure(text="Hello World")
# Create the main window
root = ctk.CTk()
root.title("Hello World Display")
root.geometry("300x300")
# Create and place the button
button = ctk.CTkButton(master=root, text="환영인사", command=display_hello_world)
button.place(relx=0.5, rely=0.3, anchor="center")
# Create and place the label
label = ctk.CTkLabel(master=root, text="")
label.place(relx=0.5, rely=0.5, anchor="center")
# Start the main loop
root.mainloop()
1. 라이브러리 임포트
import customtkinter as ctk
- customtkinter 라이브러리를 ctk라는 별칭으로 가져옵니다. 이 라이브러리는 현대적인 스타일의 GUI를 만들기 위한 도구입니다.
2. 버튼 클릭 시 실행될 함수 정의
def display_hello_world():
label.configure(text="Hello World")
- display_hello_world 함수는 버튼이 클릭될 때 호출됩니다.
- 이 함수는 화면에 있는 label 위젯의 텍스트를 "Hello World"로 변경합니다.
3. 메인 창 생성
root = ctk.CTk()
root.title("Hello World Display")
root.geometry("300x300")
- ctk.CTk()를 호출하여 기본 창(root)을 생성합니다.
- root.title로 창의 제목을 "Hello World Display"로 설정합니다.
- root.geometry("300x300")로 창의 크기를 300x300 픽셀로 지정합니다.
4. 버튼 생성 및 배치
button = ctk.CTkButton(master=root, text="환영인사", command=display_hello_world)
button.place(relx=0.5, rely=0.3, anchor="center")
- ctk.CTkButton을 사용하여 "환영인사"라는 텍스트가 적힌 버튼을 생성합니다.
- master=root는 버튼이 root 창에 속하도록 설정합니다.
- command=display_hello_world는 버튼 클릭 시 display_hello_world 함수를 호출하도록 연결합니다.
- place 메서드의 relx=0.5, rely=0.3, anchor="center"는 버튼을 창의 가로 중심(50%)과 세로 (30%) 위치에 중앙 정렬로 배치합니다.
5. 레이블 생성 및 배치
label = ctk.CTkLabel(master=root, text="")
label.place(relx=0.5, rely=0.5, anchor="center")
- ctk.CTkLabel을 사용하여 처음에는 빈 텍스트(text="")를 가진 레이블을 생성합니다.
- place 메서드로 레이블을 창의 가로 중심(50%)과 세로 중심(50%)에 중앙 정렬로 배치합니다.
6. 메인 루프 실행
root.mainloop()
- mainloop는 GUI 프로그램을 실행하여 창을 화면에 표시하고 사용자 입력(예: 버튼 클릭)을 처리합니다.
동작 방식
- 프로그램을 실행하면 300x300 크기의 창이 나타나고, 중앙 상단에 "환인사" 버튼이 표시됩니다.
- 버튼을 클릭하면 창의 중앙에 "Hello World" 텍스트가 나타납니다.
- customtkinter의 place 메서드를 사용해 상대 좌표로 위젯을 배치했기 때문에 창 크기가 변경되어도 위젯의 위치는 상대적으로 유지됩니다.
이 코드는 간단하면서도 customtkinter의 기본적인 사용법을 보여주는 예제입니다.
Official Documentation And Tutorial | CustomTkinter
CustomTkinter is a python desktop UI-library based on Tkinter, which provides modern looking and fully customizable widgets.
customtkinter.tomschimansky.com
by korealionkk@gmail.com

반응형