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

Tkinter에서 마우스 포인터를 숨기거나 비활성화하는 방법

Tkinter 애플리케이션에서 특정 위젯을 활성화하거나 비활성화하는 방법은 여러 가지가 있습니다. 하지만 마우스 커서, 제어 아이콘, 툴바처럼 Tkinter 윈도우 자체의 구성 요소를 제어하고 싶다면, Tkinter가 기본으로 제공하는 내장 함수들을 활용해 윈도우 객체를 손쉽게 설정할 수 있습니다.

특정 Tkinter 애플리케이션에서 마우스 포인터를 숨기거나 비활성화하려면 config(cursor="none") 메서드를 사용해 커서 속성을 변경하면 됩니다. 이 메서드는 마스터(master) 또는 루트(root) 윈도우에 그대로 호출할 수 있으며, 설정 후에는 해당 윈도우 영역 안에서 마우스 커서가 표시되지 않습니다.

예제 코드

# tkinter 라이브러리 임포트
from tkinter import *
from tkinter import ttk

# Tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()

# 윈도우 크기 설정
win.geometry("750x250")

# Enter 키 입력 시 윈도우를 닫는 콜백 함수
def callback(event):
    win.destroy()

# 레이블 위젯 생성
label = ttk.Label(win, text="Enter 키를 누르면 창이 닫힙니다", font=('Century 17 bold'))
label.pack(ipadx=10)

# Return(Enter) 키 이벤트 바인딩
win.bind('<Return>', callback)

# 마우스 포인터 숨기기
win.config(cursor="none")

win.mainloop()

실행 결과

위 코드를 실행하면 윈도우 영역 안에서 마우스 포인터가 숨겨진 것을 확인할 수 있습니다.

Tkinter에서 마우스 포인터를 숨기거나 비활성화하는 방법

이 상태에서 윈도우 안에 마우스가 있는 채로 Enter 키를 누르면 바인딩된 콜백 함수가 호출되어 윈도우가 종료됩니다.

참고 사항

cursor="none" 옵션은 해당 윈도우 위에서만 커서를 숨기며, 운영체제 전체의 마우스 포인터에는 영향을 주지 않습니다. 다시 커서를 표시하려면 win.config(cursor="arrow")처럼 기본 커서 스타일로 되돌리면 됩니다.