본문 바로가기

Language/Python

[wxPython] 이벤트05 (사이즈 이벤트 예제 : wx.EVT_KEY_DOWN)

본 내용의 출처는 이글루 블로그의 '하린아빠' 라는 네임을 쓰시는 분의 블로그입니다.

[출처] - http://pythondev.egloos.com/104082


행여나 이글루 블로그가 없어지면 참고할 곳이 사라지기에 주인장님께 댓글을 남기고 퍼 옵니다.




[wxPython] 이벤트05 (사이즈 이벤트 예제 : wx.EVT_KEY_DOWN)



# -*- coding: cp949 -*-
#!/usr/bin/python

# keyevent.py

import wx

class KeyEvent(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)
        panel = wx.Panel(self, -1)
        # 키누름 이벤트 연결
        panel.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
        panel.SetFocus()

        self.Centre()
        self.Show(True)


    # 키보드 키눌림 이벤트 처리 함수
    def OnKeyDown(self, event):
        # 이벤트 발생시 키코드 값을 얻음.
        keycode = event.GetKeyCode()
        # 이벤트 키가 ESC일 경우
        if keycode == wx.WXK_ESCAPE:
            # 메시지 박스 띄움
            ret  = wx.MessageBox('Are you sure to quit?', 'Question', wx.YES_NO | wx.CENTRE |
                                     wx.NO_DEFAULT, self)
            # 메시지 박스에서 YES 버튼을 눌렀다면
            if ret == wx.YES:
                #프로그램 종료
                self.Close()
        # 누른 키가 ESC키가 아닐 경우
        event.Skip()

app = wx.App()
KeyEvent(None, -1, 'keyevent.py')
app.MainLoop()



[실행화면]