본문 바로가기

반응형

분류 전체보기

파이썬 GUI, 스핀컨트롤 wx.SpinCtrl 개요 스핀컨트롤(wx.SpinCtrl)은 텍스트컨트롤(wx.TextCtrl)과 스핀버튼(wx.SpinButton)을 합쳐놓은 위젯이다. 위,아래 화살표를 눌러 숫자 값의 크기를 조절 할 수 있고, 본문에서는 입력된 숫자가 바뀌면 창 크기가 바뀌는 예제를 구현해본다. wx.SpinCtrl 스핀컨트롤(wx.SpinCtrl) 선언은 아래와 같으며, style 값에서 키보드 화살표 키로 숫자를 올리고 내리는 기능이 있다. spin = wx.SpinCtrl(parent, id, value="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, min=0, max=100, initial=0, name="wxSpinCtrl") parent: 스핀컨트롤 부모 클래스 id.. 더보기
파이썬 GUI, 메시지 다이얼로그 wx.MessageDialog 개요 메시지다이얼로그(wx.MessageDialog)를 출력해보자. 대화상자는 wx.OK, wx.CANCEL 버튼이 있고, 사용자의 버튼 선택에 따라 프레임을 스크린 중앙에 옮겨주는 기능을 구현한다. 예제는 프로그램을 켜고 5초가 지나면 대화상자가 뜬다. OK를 클릭하면 화면이 스크린 중앙으로 옮겨진다. wx.MessageDialog 메시지다이얼로그(wx.MessageDialog)는 가장 간단한 wxPython 대화상자 위젯이다. 구현 방식에 따라 알림, 주의, 확인, 취소 등의 기능을 수행한다. modal = wx.MessageDialog(parent, message, caption="", style=wx.OK|wx.CENTRE, pos=wx.DefaultPosition) answer = modal.S.. 더보기
파이썬 GUI, 텍스트입력다이얼로그 wx.TextEntryDialog 개요 사용자로부터 한 줄 짜리 텍스트를 입력받는 텍스트입력다이얼로그(wx.TextEntryDialog)를 제작해보자. 다이얼로그는 대화상자 형태로 별도의 창이 열리게 되고 텍스트 입력란과 OK 혹은 Cancel 버튼을 놓을 수 있다. wx.TextEntryDialog 텍스트입력다이얼로그(wx.TextEntryDialog)는 가장 간단한 텍스트 입력 양식을 가진 대화상자형 위젯이다. 대부분의 다른 wxPython 위젯들과 마찬가지로 선언 양식은 아래와 같고, style의 경우 버튼(wx.Button)에 대한 스타일(wx.OK, wx.CANCEL)과 텍스트컨트롤(wx.TextCtrl)에 대한 스타일을 지정할 수 있다. modal = wx.TextEntryDialog(parent, message, captio.. 더보기
파이썬 GUI, 창 움직임 트래킹 Frame Movement Tracking 개요 경우에 따라 창의 현재 위치나 크기를 알아야 할 때가 있다. 이 경우 어떤 방식으로 값을 얻어오는지 예제를 통해 알아본다. 추가로 키보드 조작을 통해 창 크기를 변경하는 방법도 알아본다. wx.EVT_MOVE 창이 움직일때 발생하는 이벤트이다. 아래와 같이 바인딩하여 움직임을 감지한다. self는 wx.Frame 객체이며, 프레임 이동 이벤트가 감지 되면 self.OnMove 함수가 작동한다. self.Bind(wx.EVT_MOVE, self.OnMove) 한편, 창이 움직일 때 좌표 값을 얻어오는 함수는 GetPosition() 이고, 창의 크기는 GetSize()로 얻는다. wx.EVT_CHAR_HOOK 키보드를 누를 때 발생하는 이벤트이다. 해당 이벤트로 실행된 함수에서 event.GetKey.. 더보기
파이썬 GUI, 싱글초이스다이얼로그 wx.SingleChoiceDialog 개요 선택지를 여러 개 주고 하나만 선택하게하는 싱글초이스다이얼로그(wx.SingleChoiceDialog)를 구현해보자. wx.SingleChoiceDialog 싱글초이스다이얼로그(wx.SingleChoiceDialog)는 이름에서 알 수 있듯이 대화상자(Dialog) 형태의 위젯이다. 여러 개의 문자열 선택지로 구성되어 있으며, 그 중 하나만 유저가 선택할 수 있다. single_cd = wx.SingleChoiceDialog(parent, message, caption, choices, style=0, pos=wx.DefaultPosition) parent: 싱글초이스 다이얼로그가 놓이는 부모 오브젝트, 보통 None으로 둔다. message: 대화상자 상단에 놓이는 텍스트 caption: 대화상자.. 더보기
파이썬 GUI, 체크박스 생성 후 이벤트 연결하기 개요 체크박스(wx.CheckBox)는 ON / OFF가 가능한 라벨 텍스트 박스이다. 옵션에 따라 ON / OFF 외에도 제 3의 상태 (undetermined state)를 가질 수도 있다. 체크박스의 상태에 따라 텍스트가 변하는 간단한 어플을 구현해보자. wx.CheckBox 체크박스(wx.CheckBox)는 버튼(wx.Button)과 유사하게 아래와 같이 정의된다. 기본적으로 부모 객체와 id, 그리고 라벨 정도가 필요하고, 필요에 따라 컨트롤 포지션이나 사이즈 등도 옵션으로 변경이 가능하다. chkbox = wx.CheckBox(parent, id=wx.ID_ANY, label="체크박스라벨", pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, va.. 더보기
파이썬 GUI, 버튼 생성 후 이벤트 등록하기 개요 가장 많이 쓰는 위젯인 버튼(wx.Button)을 생성하고, 눌렀을 때 프로그램이 닫히는 이벤트를 구현해본다. wx.Button 버튼(wx.Button)은 문자열을 포함하고 가장 자주 쓰이는 위젯이다. 버튼은 보통 패널(wx.Panel) 위나 다이얼로그 상자(wx.Dialog)나 혹은 윈도우(wx.Frame) 창 위에도 놓일 수 있다. 변수 선언은 다음과 같이 한다. btn = wx.Button(parent, id=wx.ID_ANY, label="버튼라벨", pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, validator=wx.DefaultValidator, name="") 버튼을 정의할 때 필요한 각각의 인수에 대해 설명하면 아래와 같다. pare.. 더보기
파이썬 GUI, 메뉴바 만들기 wx.Menubar 개요 wxPython을 이용하여 간단한 메뉴바(wx.Menubar)를 구성해보자. 메뉴바 항목들에 마우스 오버(Mouse Over)를 하면 상태표시줄에 해당 메뉴에 대한 설명 문구가 뜨게 한다. wx.Menubar 메뉴바(wx.Menubar)란 프레임 상단에 위치하고 일련의 메뉴들로 구성된 wxPython 위젯이다. 메뉴바 인스턴스(menubar)를 생성 후 wx.Frame.SetMenuBar()를 이용하여 프레임에 셋팅한다. menubar = wx.MenuBar() frame.SetMenuBar(menubar) 그러나 위 코드만으로는 메뉴바가 보이지 않을 것이다. 메뉴바는 각 메뉴(wx.Menu)들이 달릴 수 있는 그릇이고 메뉴가 하나라도 없으면 메뉴바는 GUI에서 보이지 않는다. 메뉴바 인스턴스 생성.. 더보기

반응형