wxPython & wxFormBuilder 설치

ning·2025년 5월 22일

wxpython 설치

pip install wxpython

test window 만들기

import wx

app = wx.App()
frm = wx.Frame(None, title="Hello world")
frm.Show()
app.MainLoop()

한 줄씩 보면

app = wx.App()
  • GUI 애플리케이션을 실행하기 위한 App 객체 생성.
  • 반드시 하나만 생성해야 함.
  • 프로그램의 시작점.
frm = wx.Frame(None, title="Hello world")
  • 기본 윈도우 창 생성.
  • None을 쓰면 이 창의 부모가 없다는(...) 의미 = 최상위 창.
  • title로 정한 이름이 제목 표시줄에 나옴.

실행하면 창 하나가 이렇게 나온다.

귀여웡



근데? 이걸 하는 게 아니었구나.

코드로 gui 만드는 게 아니라 wxformbuiler를 쓸 거다.
드래그 앤 드롭으로 GUI 설계하면 원하는 언어로 코드 작성해주는 툴이다.


아래에서 다운로드 한다. [wxformbuilder github](https://github.com/wxFormBuilder/wxFormBuilder.git)


다 뭔지 모르겠고 wxFormBuilder-4.2.1-x64.exe를 설치해보자.

설치하고 실행하면 바로 사용 가능하다.


안 예뻐

암튼 유튜브 보면서 공부해보자.
https://youtu.be/wg3q058Awj8?si=7OW5P4ngkqoqzlN7

9년 전 영상인데 왜케 빨라. 유용한데 0.5배속으로 봐야 함.


사용할 수 있는 기능들이 component palette에 있다.

가장 먼저 창을 생성하려면 Forms 탭에서 첫 번째 Frame을 누르면 된다.
변을 잡고 늘려서 사이즈도 조절할 수 있다.

그 다음, Common 탭에 버튼이나 텍스트들이 있는데 그 전에 Layout 탭의 wxBoxSizer를 먼저 넣어줘야 한다. 안 그럼 오류 뜸.

wxBoxSizer 넣으면 만들었던 창에 빨간 표시가 나온다.

이제 버튼, 텍스트 넣어주면 잘 들어간다.

왼쪽 트리에 넣는 요소들이 정리되고 있다.

요소의 스타일은 오른쪽 Properties에서 변경 가능하다.

  • wxAnyButton-label 내용 입력
  • wxButton-style 글자 정렬 설정
  • wxWindow-font 글자 크기, 글꼴, 스타일 설정
  • wxWindow-fg, bf 글자색, 배경색 설정

등등 하다보면 요래 됨.


화면 설계가 끝나면 왼쪽 Object Tree에서 프로젝트명을 클릭하고 오른쪽 Properties에서 file에 저장할 파일명, path에 경로를 적고 code_generation에서 원하는 언어를 선택한다.

Editor 창에서 코드가 생성된 것을 볼 수 있다.

상단 탭에서 톱니바퀴 모양 버튼을 누르면 설정한 파일명으로 파일이 저장된다.

python 파일 열어보면 frame을 위한 class만 생성해주는 것 같다.

실행시키려면 아래 코드를 추가해준다.

if __name__ =="__main__":
    app = wx.App()
    frm = MyFrame3(None)
    frm.Show()

    app.MainLoop()

실행하면 설계한 대로 창이 만들어진다.

아직 이벤트 구현은 안 되어 있어서 창만 생긴 상태이다.

주의할 점

Properties 제일 아래쪽 Sizer의 속성에서 wxEXPAND와 wxALIGN_CENTER_HORIZONTAL는 동시에 사용하면 에러가 난다. wxEXPAND는 "위젯에서 사용 가능한 공간을 모두 쓰겠다"이고, wxALIGN_CENTER_HORIZONTAL는"가운데 정렬"이다.
wxEXPAND 설정이 우선이고 정렬은 무시되어 추후 코드 실행할 때 경고 메시지가 나온다.
동시에 사용하고 싶으면 글자 가운데 정렬은 style 쪽에서 설정하자.

0개의 댓글