본문 바로가기

반응형

wxPython

파이썬 GUI, 그리드, 테이블, 표 wx.Grid 개요 그리드(wx.grid.Grid)는 프로그램에 데이터를 엑셀과 같은 표 형식으로 보여주기에 아주 유용한 클래스이다. 정의하는 방식에 따라 사용자가 셀에 값을 직접 입력할 수도 있고, 읽기전용으로 바꾸지 못하게 할 수도 있다. 숫자 데이터는 화면에 보여줄 소수점 자릿수를 결정할 수도 있고, 셀이나 텍스트의 색상도 바꿀 수 있다. 그 밖에 제대로 커스터마이징된 표를 만들고 싶으면 wxPython 도큐먼트(https://docs.wxpython.org/wx.grid.Grid.html)를 참고하여 더 다양한 함수와 기능들을 사용해서 추상클래스로 정의할 수도 있다. 그리드 클래스는 굉장히 많은 기능과 함수를 담고 있으나 여기서는 독자에게 단순 소개를 위해서 가장 기본적인 기능들로 구성된 예제를 다룬다. wx... 더보기
파이썬GUI, 개발자 정보 입력, 파이썬 개발자 정보 AboutBox 개요 가끔 프로그램을 만들다 보면 개발자 정보를 입력하고 싶을 때가 있다. 오류 났을 때 필요한 연락처를 적기도 하고, 또 같이 개발한 사람들끼리 Developers 이름을 적기도 한다. wxPython에는 마침 이 기능을 손쉽게 사용할 수 있도록 다이얼로그 형식으로 미리 정의된 클래스가 있다. 그것이 바로 AboutBox(wx.adv.AboutBox)이다. AboutBox는 단독으로 쓰기보다는 다이얼로그 안에 들어갈 내용을 정의해주는 AboutDialogInfo(wx.adv.AboutDialogInfo) 클래스와 함께 사용되는 것이 일반적이다. 이 둘을 사용하여 개발자 정보를 보여주는 다이얼로그를 구현해보자. AboutBox 함수와 AboutDialogInfo 클래스 개발자 정보 다이얼로그인 어바웃박스.. 더보기
파이썬 GUI, 툴바 wx.ToolBar 개요 툴바(wx.ToolBar)는 메뉴바(wx.MenuBar) 아래에 위치한 여러 개의 버튼으로 이루어진 wxPython 위젯이다. wx.ToolBar 툴바(wx.ToolBar)는 여러 개의 툴베이스(wx.ToolBarToolBase)들로 이루어진다. 툴베이스란 툴바의 아이콘이라 생각하면 된다. 툴바에 아이콘이 4개 있으면 툴베이스가 4개 있는것과 같다. 따라서 이 경우 코드 선언도 툴바 1개에 툴베이스4개를 선언하면 하나의 툴바를 완성할 수 있다. 일반적으로 툴바는 아래와 같이 선언한다. tb = wx.ToolBar(parent, id=ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.TB_HORIZONTAL, name="") 위와 같이 To.. 더보기
파이썬 GUI, wxPython Hello World! 개요 wxPython을 이용하여 Hello World! 가 적힌 윈도우를 띄워보고 GUI 프레임워크가 어떤식으로 동작하는지 이해해보자. wxPython 앱의 구조 wxPython은 크게 두 부분으로 되어있다. wx.App - wxPython GUI 툴킷을 시작하는 부트스트랩. 백그라운드에서 동작하며 사용자에게는 보이지 않는다. wx.Frame - 실제 사용자에게 보이는 부분으로 프로그램 윈도우 창에 해당하는 부분이다. wxPython에서 wxFrame과 Window는 동의어이다. wx.App GUI를 백그라운드에서 관장하는 wx.App 함수는 아래와 같이 app 변수에 할당할 수 있다. 이 코드를 실행하면 실행은 되겠지만 사용자 눈에는 아직 아무것도 보이지 않는다. 변수 할당만 되었기 때문이다. app .. 더보기
파이썬 GUI, 왜 wxPython 인가? 파이썬 GUI, 왜 wxPython인가? 파이썬 GUI 프레임워크(framework)는 파이썬 설치시 기본으로 설치되는 Tkinter 외에도 사용자 직접 설치가 필요한 wxPython, PyQt, PySimpleGUI, Kivy, PySide 등이 있다. 해외 사이트를 보면 최소 10가지 이상의 파이썬 GUI 프레임워크가 있는 것 같다. 이 중에서 나는 PyQt, Tkinter, wxPython을 사용해 보았는데, 개인적으로 초보자 입장에서 배우기 쉽고, 구글에 검색했을 때 학습 자료가 많이 등장하는 wxPython와 Tkinter가 독학하기 쉽고, 최종적으로 안정적인 공식사이트(www.wxpython.org)를 가지고 있고, 문제발생시 트러블슈팅에 용이한 스택오버플로우(www.stackoverflow... 더보기

반응형