본문 바로가기

반응형

wxPython

파이썬 GUI, 다중 창 인터페이스 wx.MDIParentFrame 개요 MDI Frame (Multiple Document Frame)은 하나의 창 안에서 또 다른 자식 창을 열 수 있는 wxPython 프레임이다. 여기서 모든 창을 포함하는 Frame은 MDI Parent Frame(wx.MDIParentFrame)이고, MDI Parent Frame 안에 들어가는 창은 MDI Child Frame(wx.MDIChildFrame) 이다. 하나의 프로그램 안에서 개별 창을 띄워 GUI를 관리하고자 할 때 유용하게 사용할 수 있다. wx.MDIParentFrame MDI Parent Frame의 선언은 아래와 같이 기본 Frame과 동일하게 할 수 있다. wx.MDIParentFrame(parent, id=wx.ID_ANY, title="", pos=wx.DefaultP.. 더보기
파이썬 GUI, 기본 색상표 wx.ColourDatabase 개요 wxPython에서는 색상데이터베이스(wx.ColourDatabase())에 바로 불러다 쓸 수 있는 기본 색상 테이블을 제공한다. 색상데이터베이스를 이용하면 색상 이름으로 색상값(R,G,B,alpha) 값을 불러올 수 있다. 각 값은 0~255 정수값을 가질 수 있고, alpha는 투명도이다. 2023.04.08 - [Matplotlib] - [Matplotlib] RGB, HEX 기본 색상 코드표 [Matplotlib] RGB, HEX 기본 색상 코드표 개요 ** 본 글은 "색상표"에 대한 요구에 따라 기존 포스팅(https://hexa-coding.tistory.com/23)에 덧붙여 추가로 작성하였습니다. 결과값은 RGB, HEX, 그리고 색상이름 세 가지로 출력하였는데 혹시 이 외에 hex.. 더보기
파이썬 GUI, 그리드사이저 wx.GridSizer 개요 그리드사이저(wx.GridSizer)는 내부에 배열된 위젯들의 크기가 모두 동일한 2차원 바둑판 배열의 컨테이너이다. 그리드 사이저에 버튼을 나열하고 랜덤으로 버튼 배경색을 바꾸는 예제를 수행해보자. wx.GridSizer 그리드 사이저(wx.GridSizer)를 선언하는 방법은 아래와 같이 네 가지가 있다. 선언이 직관적이어서 별도의 설명은 생략하겠다. GridSizer(cols, vgap, hgap) GridSizer(cols, gap=Size(0,0)) GridSizer(rows, cols, vgap, hgap) GridSizer(rows, cols, gap) rows: 행의 수 cols: 열의 수 vgap: 수직 간격 hgap: 수평 간격 gap: 수직, 수평 간격 모두 예제 아래 예제는 5.. 더보기
파이썬 GUI, 박스사이저 추가예제3 wx.BoxSizer 개요 박스사이저(wx.BoxSizer) 추가예제이다. proportion, wx.EXPAND, wx.ALIGN_CENTER, wx.ALL, border를 활용하여 위젯이 어떻게 배치되는지 확인한다. proportion과 wx.EXPAND는 여기(https://hexa-coding.tistory.com/20)를, 박스사이저 기본예제는 여기(https://hexa-coding.tistory.com/16)를 참조하자. wx.ALIGN_CENTER flag 속성에서 wx.ALIGN_CENTER는 수직박스사이저 기준으로 위젯을 수평방향의 중앙에 놓는 옵션이다. (수평박스사이저에서는 수직방향 중간이 된다.) wx.ALL, 그리고 border 속성 flag의 wx.ALL은 상,하,좌,우 모든 경계면의 두께를 bord.. 더보기
파이썬 GUI, 박스사이저 추가예제2 wx.BoxSizer 개요 박스사이저(wx.BoxSizer) 추가 예제를 다룬다. 박스사이저 Add() 메소드의 속성값인 proportion에 대해 알아보고, flag의 wx.EXPAND에 대해서도 알아보자. 박스사이저의 기본적인 내용에 대해서는 이전 포스팅(https://hexa-coding.tistory.com/16)을 참조하자. wx.BoxSizer.Add() - proportion 속성 박스사이저에 위젯을 할당할 때 proportion 속성값이 있다. 이 값은 박스사이저 내에서 위젯이 차지하는 크기적 비율값을 의미한다. 박스사이저가 수평 박스사이저라면, proportion 값은 x 방향 길이값 비율을 의미하고, 반대로 수직 박스사이저라면 y 방향 길이값을 의미한다. proportion 값은 0, 1, 2, 3, ..... 더보기
파이썬 GUI, 라디오박스 wx.RadioBox 개요 라디오박스(wx.RadioBox)는 라디오버튼(wx.RadioButton)을 그룹화 한 형태의 위젯이다. 라디오버튼보다 훨씬 직관적이고 코드가 간결해지는 장점이 있다. 개요 라디오박스 선언은 아래와 같다. 라디오 버튼과 다른 점은 choices, majorDimension, style 옵션일 것이다. 라디오박스에서는 이들이 유기적으로 연결되어 있는데, 먼저 style에서 행을 기준으로 나열할지 열을 기준으로 나열할지를 결정한다. 그 다음 majorDimension에서 행 혹은 열을 몇 개로 나열할 것인지 정한 뒤, choices에 있는 아이템 수 기준으로 최종 배치가 결정된다. choices = ["choice1", "choice2", "choice3", "choice4"] radiobox = wx.. 더보기
파이썬 GUI, 라디오버튼 wx.RadioButton 개요 라디오버튼(wx.RadioButton)은 옵션 선택을 위한 문자열과 동그란 버튼으로 이루어진 위젯이다. 보통 단독으로는 쓰지 않고, 옵션 수에 맞게 여러 개의 라디오버튼을 하나의 그룹으로 사용한다. 예제를 통해 알아보자. wx.RadioButton 라디오버튼(wx.RadioButton)의 선언은 아래와 같이 어렵지 않으나, 다른 위젯과 달리 보통 그룹으로 동작하기 때문에 두 개 이상의 라디오버튼이 한 그룹이 되는 것이 일반적이다. radiobutton = wx.RadioButton(parent, id=ID_ANY, label="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, name="") 따라서 동일 그룹의 라디오 버튼이라는 것을 style 옵.. 더보기
파이썬 GUI, 진행률 바 wx.Gauge 개요 게이지(wx.Gauge)는 어떤 작업의 진행 상태를 표시하는 수직, 혹은 수평 바 모양의 위젯이다. 이를 통해 남은 시간을 알려주는 진행률 바를 만들어보자. wx.Gauge 게이지(wx.Gauge)는 두 가지 모드가 있다. 첫째로 일반적인 경우에 작업의 남은 시간을 알려주는 모드. 둘째로 총 작업 시간을 알 수 없을때 진행상태만 표시해주는 모드이다. 선언은 아래와 같이 간단히 할 수 있다. gauge = wx.Gauge(parent, id=ID_ANY, range=100, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.GA_HORIZONTAL, name="") parent: 게이지의 부모 클래스 id: 위젯 id이며 보통 -1로 두어 자동설정되게 한.. 더보기

반응형