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

Python Tkinter에서 툴팁(Tooltip) 표시하는 방법

툴팁(Tooltip)은 버튼이나 위젯 위에 마우스 커서를 올렸을 때 간단한 설명이나 추가 정보를 보여주는 UI 요소입니다. 사용자가 애플리케이션의 기능을 쉽게 이해할 수 있도록 도와주기 때문에 실무에서 매우 유용하게 활용됩니다.

Python의 Tkinter에서는 tkinter.tix 모듈이 제공하는 Balloon 위젯을 사용하여 손쉽게 툴팁을 만들고 표시할 수 있습니다.

예제 코드

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

# tkinter 프레임 인스턴스 생성
win = Tk()
# 창 크기 설정
win.geometry("600x450")

# 툴팁(Balloon) 객체 생성
tip = Balloon(win)

# 버튼 위젯 생성
my_button = Button(win, text="마우스를 올려보세요")
my_button.pack(pady=20)

# 버튼 위젯에 툴팁 연결
tip.bind_widget(my_button, balloonmsg="www.tutorialspoint.com")

win.mainloop()

실행 결과

위 코드를 실행하면 "마우스를 올려보세요"라는 버튼이 포함된 창이 나타납니다. 사용자가 해당 버튼 위에 마우스 커서를 올리면 balloonmsg에 지정한 툴팁 텍스트가 화면에 표시됩니다.

Python Tkinter에서 툴팁(Tooltip) 표시하는 방법

참고: tkinter.tix 모듈 사용 시 주의사항

tkinter.tix 모듈은 오랫동안 유지보수되지 않아 Python 3.6부터 지원이 중단(deprecated)되었으며, Python 3.13부터는 표준 라이브러리에서 완전히 제거되었습니다. 따라서 최신 Python 버전을 사용한다면 다음과 같은 대안을 권장합니다.

  • idlelib.tooltip 활용: 표준 라이브러리에 포함된 idlelib.tooltip.Hovertip을 사용하면 별도 설치 없이 툴팁을 구현할 수 있습니다.
    from idlelib.tooltip import Hovertip
    Hovertip(my_button, "www.tutorialspoint.com")
  • 커스텀 툴팁 클래스 구현: Toplevel 위젯을 기반으로 마우스 이벤트(<Enter>, <Leave>)에 반응하는 자체 툴팁 클래스를 작성하면 스타일과 동작을 자유롭게 제어할 수 있습니다.

간단한 데모나 레거시 환경에서는 Balloon 위젯이 여전히 편리한 선택이지만, 새 프로젝트에서는 위 대안을 사용하는 것이 좋습니다.