반응형

파이썬 강의/wx 8

파이썬 GUI(wxPython) 7. 문자 표현 : StaticText / TextCtrl

이번 강의는 GUI상에서 문자를 표현하는 방법인 StaticText와 TextCtrl을 알려드리겠습니다. 1. StaticText StaticText는 이름대로 정적인 텍스트입니다. 그렇기에 다른 조작이 가해지지 않는 이상 바뀌지 않고 지속됩니다. 가장 쉽게 이해하는 방법은 인터넷 게시글입니다. 인터넷 게시글의 본문은 기본적으로 사용자가 조작할 수 없으며, 다른 위젯과의 상호작용으로 만 조작이 됩니다. wxPython에서 StaticText는 다음과 같습니다. self.text = wx.StaticText(self, id=1, label='StaticText') 기본적으로는 위의 형식을 갖추기만 해도 선언되지만, 받을 수 있는 파라미터는 다음과 같습니다. parent : 해당 위젯이 선언 될 창. Non..

파이썬 강의/wx 2021.01.19

파이썬 GUI(wxPython) 6. Sizer(레이아웃) : GridSizer, FlexGridSizer, GridBagSizer

이번 강의는 저번 강의에 이어서 레이아웃 기능 중 하나인 GridSizer, FlexGridSizer, GridBagSizer를 알아보겠습니다. 1. GridSizer Grid는 일반적으로 이차원의 직선이나 곡선으로 이루어진 격자를 뜻합니다. (0, 0) (1, 0) (2, 0) (3, 0) (0, 1) (1, 1) (2, 1) (3, 1) (0, 2) (1, 2) (2, 2) (3, 2) (0., 3 (1, 3) (2, 3) (3, 3) (0, 4) (1, 4) (2, 4) (3, 4) 위와 같은 직선으로 이루어진 격자 공간에 위젯을 배치하는 것을 GridSizer라고 합니다. 위의 경우에는 5 x 4의 GridSizer라고 할 수 있습니다. GridSizer도 이전 시간의 BoxSizer와 비슷하게 ..

파이썬 강의/wx 2021.01.09

파이썬 GUI(wxPython) 5. Sizer(레이아웃) : BoxSizer, StaticBoxSizer

이번 강의는 wxPython에서 레이아웃의 기능인 Sizer, 그중에서 BoxSizer와 StaticBoxSizer에 대해서 알아보겠습니다. 1. BoxSizerBoxSizer는 박스가 차곡차곡 쌓이듯이 네모 박스에 위젯들을 넣어서 정렬한다고 붙여진 이름입니다. 그렇기에 BoxSizer를 이용한 프로그램들은 가지런히 정렬된 모양으로 나타납니다. BoxSizer의 코드는 다음과 같습니다.sizer = wx.BoxSizer(orient)orient는 방향이라는 파라미터입니다. 세로로 쌓을지, 가로로 쌓을지를 결정하는 파라미터로 wx.VERTICAL(세로) | wx.HORIZONAL(가로)의 두 가지가 있습니다. 저는 세로인 wx.VERTICAL을 사용하겠습니다. 이렇게 Sizer를 만들었으면 위젯을 Size..

파이썬 강의/wx 2021.01.05

파이썬 GUI(wxPython) 4. 다이얼로그

이번 강의는 wxPython의 다이얼로그에 대해서 알아보겠습니다. 1. Yes or No 다이얼로그는 위의 예/아니오를 누를수 있는 알림처럼 무언가의 정보를 보여주거나 응답을 주고받는 창 입니다. wxPython에서 다이얼로그는 공통적으로 다음과 같은 코드로 만들어 집니다. MessageDialog(parent, message, caption, stlye, pos) 각각의 파라미터는 다음과 같습니다. parent : 부모 Window창 설정. message : 다이얼로그의 메세지를 설정. caption : 다이얼로그의 제목을 설정. style : 다이얼로그의 style을 설정. pos : 표시될 다이얼로그의 위치를 설정. 적지 않을 경우 디폴트값이 들어가게됨 예시로 버튼을 눌렀을 때, Yes or No ..

파이썬 강의/wx 2021.01.05

파이썬 GUI(wxPython) 3. 메뉴바와 메뉴

이번 강의는 메뉴바와 메뉴입니다. 1. 메뉴바 메뉴바는 메뉴들이 모여있는 장소라고 할 수 있습니다. 메뉴바가 있어야 메뉴들을 넣을 수 있기 때문에 메뉴를 넣으실 분들은 필수적으로 만드셔야 합니다. 메뉴바를 만드는 방법은 다음과 같습니다. menu_bar = wx.MenuBar() 괄호 안에는 파라미터로 style값을 넣어줄 수 있지만, 메뉴를 분리할 때 말고는 쓰지 않습니다. 이제 메뉴바를 만들었으니 실행해 보겠습니다. 분명 메뉴바를 만들었는데 실제로는 메뉴바가 나타나지 않습니다. 이것은 메뉴가 없고, 메뉴바가 등록이 되지 않았기 때문입니다. 2. 메뉴 메뉴는 메뉴바를 구성하는 항목들입니다. 위 파이참 사진에서 메뉴는 File, Edit, View 등이 메뉴라고 할 수 있습니다. 메뉴를 만드는 방법은 메..

파이썬 강의/wx 2021.01.05

파이썬 GUI(wxPython) 2. 버튼과 버튼이벤트

이번 강의는 wx의 위젯 중 하나인 버튼과, 그 버튼의 이벤트 처리에 관한 강의입니다. 1. 버튼 버튼은 거의 모든 프로그램에 존재합니다. 특히 강의의 최종 목표인 계산기에는 숫자를 표시하는 부분을 제외하면 모두 버튼이라고 할 수 있습니다. wx에서 버튼은 매우 간단하게 만들어집니다. self.button = wx.Button(self, id=1, label='버튼') 위 코드는 button이라는 새로운 wx.Button을 만드는 코드입니다. wx.Button도 여러 파라미터를 넣어줄 수 있습니다. parent : 어디에 만들어 지는지를 설정합니다. None이 들어갈 수 없습니다. id : 버튼의 고유코드를 부여합니다. ID_ANY를 넣으면 기본값이 들어갑니다. label : 버튼에 나타나는 글자를 입력..

파이썬 강의/wx 2021.01.04

파이썬 GUI(wxPython) 1. 기초(Frame과 실행)

이번 강의는 wxPython의 기초인 프레임과 실행방법을 알려드리려고 합니다. 1. frame frame은 프로그램의 기본적인 틀이라고 할 수 있습니다. 프레임을 만들어준 후, 그 위에 여러 가지 기능을 넣는 형식입니다. 위 비트토렌트 사진에서도 가장 처음 보이는 화면을 프레임이라고 할 수 있습니다. wxPython에서 frame은 class로 선언됩니다. class MainFrame(wx.Frame): class의 이름은 자신이 원하는 이름으로 하셔도 상관없습니다. 하지만 괄호안에 이것이 무슨 종류인지를 선언해야 합니다. frame에 관한 class이기에 wx.Frame을 넣어 frame임을 선언해줍니다. def __init__(self, parent, id, title): 그 이후 __init__를 ..

파이썬 강의/wx 2021.01.03

파이썬 GUI(wxPython) 0. 설치

이번 시간부터 파이썬에서 GUI 프로그래밍을 하는 방법의 일환으로 wxPython을 알려드리도록 하겠습니다. 0. 파이썬 GUI 파이썬에서는 사실 'tkinter'라고 하는 GUI 프로그래밍 모듈을 기본적으로 지원하고 있습니다. 하지만 기본 모듈답게 많은 기능을 지원하지 않고, 예쁘게 만들기도 쉽지 않습니다. 그래서 여러 프로그래머들이 다른 프로그래밍 언어에 있는 모듈들을 파이썬에 적용하기 위해 노력했습니다. 그 결과 탄생한것이 PyQt와 wxPython입니다. 이 둘모두 원래는 C++에서 사용되는 툴킷이나, 파이썬에서 사용하도록 만들어진 모듈입니다. 1. wxPython wxPython은 wxWidgets의 파이썬 버전입니다. 좀더 대중적인 Qt보다는 사용되는 프로그램이 적지만, 현역으로 사용되는 코드..

파이썬 강의/wx 2021.01.02
반응형