[파이썬] wxPython `wx.FontDialog`: 폰트 선택 다이얼로그

폰트는 사용자 인터페이스 디자인에서 중요한 역할을 합니다. 사용자가 텍스트의 모양과 크기를 조정할 수 있도록 폰트 선택 기능을 제공하는 것은 꽤 흔한 요구 사항입니다. wxPython은 이를 해결하기 위해 wx.FontDialog를 제공합니다. 이 다이얼로그는 사용자에게 폰트를 선택할 수 있는 편리한 인터페이스를 제공합니다.

폰트 선택 다이얼로그 사용 예제

다음은 wxPython을 사용하여 wx.FontDialog을 생성하고 사용하는 간단한 예제입니다.

import wx

app = wx.App()
frame = wx.Frame(None, title='폰트 선택 다이얼로그 예제')
frame.SetSize(300, 200)

def show_font_dialog(event):
    font_data = wx.FontData()
    
    dialog = wx.FontDialog(frame, font_data)
    if dialog.ShowModal() == wx.ID_OK:
        selected_font = dialog.GetFontData().GetChosenFont()
        font_face = selected_font.GetFaceName()
        font_size = selected_font.GetPointSize()
        
        print(f"Selected font: {font_face}, size: {font_size}")
    
    dialog.Destroy()

button = wx.Button(frame, label='폰트 선택')
button.Bind(wx.EVT_BUTTON, show_font_dialog)

frame.Show()
app.MainLoop()

위의 예제는 wxPython 애플리케이션을 생성하고 wx.Frame을 만들었습니다. 폰트 선택 다이얼로그를 보여주는 함수 show_font_dialog이 있으며, 이 함수는 버튼에 바인딩되어 있습니다. 함수가 호출되면 wx.FontDialog를 생성하고 ShowModal 메소드를 사용하여 다이얼로그를 모달로 표시합니다. 사용자가 폰트를 선택하고 OK 버튼을 클릭하면 선택한 폰트의 정보를 출력합니다.

결론

wxPython의 wx.FontDialog는 사용자에게 폰트를 선택할 수 있는 편리한 인터페이스를 제공합니다. 이를 활용하면 텍스트의 모양과 크기를 동적으로 변경하는 기능을 구현할 수 있습니다. 위의 예제를 기반으로 원하는 기능을 추가하여 폰트 선택 다이얼로그를 사용해보세요.