python/Tk

Python GUI framework Tkinter(Tk)

MasterOfAI 2024. 8. 10. 00:55

가장 쉽게 시작할 수 있는 Python GUI 프레임워크 중 하나는 Tkinter입니다. Tkinter는 Python의 표준 라이브러리로 포함되어 있어 별도의 설치 없이 바로 사용할 수 있습니다. 사용자 인터페이스를 만들기 위해 필요한 기본적인 위젯(버튼, 레이블, 입력 필드 등)을 제공하며, 비교적 간단한 코드로 GUI 애플리케이션을 만들 수 있습니다.

 

다음은 Tkinter를 사용하여 간단한 윈도우와 버튼을 만드는 예제입니다:

 
import tkinter as tk

# 윈도우 생성
root = tk.Tk()
root.title("간단한 Tkinter 애플리케이션")

# 버튼 생성
button = tk.Button(root, text="클릭하세요!", command=lambda: print("버튼이 클릭되었습니다!"))
button.pack()

# 애플리케이션 실행
root.mainloop()

 

이 코드에서는 tkinter 모듈을 사용하여 기본 윈도우를 만들고, 버튼을 추가하며, 버튼 클릭 시 콘솔에 메시지를 출력하도록 설정했습니다.

Tkinter는 문서화가 잘 되어 있어 배우기 쉬우며, 간단한 프로젝트를 시작하기에 적합합니다. 더 복잡한 애플리케이션을 원한다면 PyQtKivy와 같은 다른 프레임워크를 고려할 수도 있습니다. 하지만 처음 시작할 때는 Tkinter가 좋은 선택이 될 것입니다.

 

 

버튼 배열을 만드는 방법)

Tkinter에서 버튼 배열을 만드는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 버튼을 배치하는 레이아웃 관리자를 사용하는 것입니다. Tkinter는 세 가지 주요 레이아웃 관리자 (pack, grid, place)를 제공하며, 이 중에서 버튼 배열에 가장 적합한 방법은 grid 레이아웃 관리자를 사용하는 것입니다. grid를 사용하면 버튼을 행과 열로 쉽게 배치할 수 있습니다.

1. grid 레이아웃 관리자 사용

grid는 2D 그리드 시스템을 사용하여 위젯을 배치합니다. 버튼을 행과 열의 위치에 따라 배치할 수 있습니다. 다음은 grid 레이아웃 관리자를 사용하여 버튼을 배열하는 간단한 예제입니다:

 

import tkinter as tk

def on_button_click(row, col):
    print(f"버튼 ({row}, {col}) 클릭됨")

# 윈도우 생성
root = tk.Tk()
root.title("버튼 배열")

# 버튼 배열 생성
for row in range(3):
    for col in range(3):
        button = tk.Button(root, text=f"버튼 ({row}, {col})", 
                           command=lambda r=row, c=col: on_button_click(r, c))
        button.grid(row=row, column=col, padx=5, pady=5)

# 애플리케이션 실행
root.mainloop()

 

 

이 코드는 3x3 그리드를 만들고 각 셀에 버튼을 배치합니다. 버튼을 클릭하면 해당 버튼의 행과 열을 출력합니다.

2. pack 레이아웃 관리자 사용

pack 레이아웃 관리자는 위젯을 상하 또는 좌우로 배치할 때 유용하지만, 복잡한 버튼 배열에는 적합하지 않을 수 있습니다. 단순한 수직 또는 수평 배열이 필요할 때 사용합니다.

다음은 버튼을 수직으로 배열하는 예제입니다:

import tkinter as tk

# 윈도우 생성
root = tk.Tk()
root.title("수직 버튼 배열")

# 버튼 배열 생성
for i in range(5):
    button = tk.Button(root, text=f"버튼 {i}")
    button.pack(pady=5)

# 애플리케이션 실행
root.mainloop()

 

이 코드는 수직으로 나열된 버튼을 만듭니다. pack 레이아웃 관리자는 기본적으로 위젯을 추가한 순서대로 배치합니다.

3. place 레이아웃 관리자 사용

place 레이아웃 관리자는 위젯을 정확한 위치에 배치할 수 있게 해줍니다. 이는 좌표 기반 배치 시스템으로, 정밀한 위치 조정이 가능합니다.

다음은 place 레이아웃 관리자를 사용하여 버튼을 배열하는 예제입니다:

 

import tkinter as tk

# 윈도우 생성
root = tk.Tk()
root.title("위치 기반 버튼 배열")

# 버튼 배열 생성
for row in range(3):
    for col in range(3):
        button = tk.Button(root, text=f"버튼 ({row}, {col})")
        button.place(x=col*100, y=row*50, width=80, height=40)

# 애플리케이션 실행
root.mainloop()

 

 

Tk Tutorial )

https://tkdocs.com/tutorial/index.html

 

TkDocs Tutorial

This tutorial will quickly get you up and running with the latest Tk from Python, Tcl, Ruby, and Perl on macOS, Windows, or Linux. It provides all the essentials about core Tk concepts, the various widgets, layout, events and more that you need for your ap

tkdocs.com