Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Tkinter Spinbox에서 기본 문자열 값을 설정하는 방법

Tkinter의 Spinbox(스핀박스) 위젯에 기본 문자열 값을 설정하려면 set 메서드를 사용해야 합니다. 이번 글에서는 문자열 값 목록으로 스핀박스를 생성한 뒤, 원하는 문자열을 기본값으로 지정하는 방법을 예제와 함께 자세히 살펴보겠습니다.

구현 단계

  • tkinter 라이브러리를 임포트하고 tkinter 프레임의 인스턴스를 생성합니다.

  • geometry 메서드를 사용해 프레임의 크기를 설정합니다.

  • 문자열 목록을 만들어 data 변수에 저장합니다.

  • StringVar() 생성자를 호출하여 StringVar 객체를 생성합니다. 이 객체는 위젯의 값을 손쉽게 관리할 수 있게 해주며, 여기서는 Spinbox의 값을 관리하는 데 사용됩니다. 매개변수를 전달하지 않으면 기본적으로 root 윈도우에 연결됩니다.

  • 스핀박스를 생성하고 data 목록을 values 옵션에 전달하여 선택 가능한 값을 설정합니다.

  • StringVar 객체를 스핀박스의 textvariable 옵션에 할당합니다. textvariable을 사용하면 위젯에 표시되는 텍스트를 간편하게 읽고 수정할 수 있습니다.

  • set 메서드를 사용해 스핀박스의 기본값을 지정합니다. 여기서는 data 목록에서 'Truck' 값을 선택해 기본값으로 설정했습니다. 즉, var.set('Truck')과 같이 직접 문자열을 지정할 수도 있고, 인덱스를 활용해 var.set(data[2]) 형태로 작성할 수도 있습니다.

  • 마지막으로 애플리케이션 창의 mainloop를 실행하여 GUI를 화면에 표시합니다.

예제 코드

from tkinter import *

win = Tk()
win.geometry('700x350')
win.title('Spinbox')

data = ['Car', 'Bus', 'Truck', 'Bike', 'Airplane']

var = StringVar(win)

my_spinbox = Spinbox(win, values=data, textvariable=var, width=20, font="Calibri, 12")
my_spinbox.pack(padx=20, pady=20)
var.set('Truck')

win.mainloop()

실행 결과

위 코드를 실행하면 다음과 같이 스핀박스에 'Truck'이 기본값으로 표시되는 것을 확인할 수 있습니다.

Tkinter Spinbox에서 기본 문자열 값을 설정하는 방법

이처럼 StringVarset 메서드를 함께 활용하면 스핀박스뿐만 아니라 Entry, Label 등 다양한 Tkinter 위젯의 초기값과 표시 텍스트를 유연하게 제어할 수 있습니다.