Python2007.11.23 20:49
윈도우 프레임 하단에 상태바를 만들고, 상태바에 원하는 메시지를 출력한다.
wxPython에서 상태

#!/usr/bin/env python

"""6-2.상태바 추가"""

import wx

class Frame(wx.Frame):
    def __init__(self, parent=None, id=-1, title='Hello, World!'):
        wx.Frame.__init__(self, parent, id, title, size=(300,300), pos=(100,100) )
        menuFile = wx.Menu()
        menuFile.Append(1, "한글 메뉴")
        menuFile.Append(2, "나가기")
        menuBar = wx.MenuBar()
        menuBar.Append(menuFile, "File")
        self.SetMenuBar(menuBar)
        self.CreateStatusBar()
        self.SetStatusText("status bar")
       
class App(wx.App):
    def OnInit(self):
        self.frame = Frame()
        self.frame.Show()
        return True

def main():
    app = App()
    app.MainLoop()

if __name__ == '__main__':
    main()

사용자 삽입 이미지

상태바 추가 및 문자열 출력


'Python' 카테고리의 다른 글

[wxPython] 버튼 출력하기  (0) 2007.11.24
[wxPython] 메시지 박스 추가  (0) 2007.11.24
[wxPython] 상태바 추가  (0) 2007.11.23
[wxPython] 6.메뉴 만들기  (0) 2007.11.23
[wxPython] 윈도우 특정 위치에 출력시키기  (0) 2007.11.23
[wxPython] 윈도우 크기 조절  (0) 2007.11.23
Posted by getcome
Python2007.11.23 18:04
이제 윈도우에 풀다운 메뉴를 만들어 보자.
wxPython에서 메뉴는 우선 하위 메뉴를 만들고, 하위 메뉴를 상위 메뉴(메뉴바)에 연결하는 방식으로 만든다.
1.  Menu()에서 파생받아 Append() 메소드로 메뉴를 구성한 후 하위 메뉴 구성
2.  메뉴를 메뉴바에 붙이기

#!/usr/bin/env python

"""6-1.메뉴 만들기"""

import wx

class Frame(wx.Frame):
    def __init__(self, parent=None, id=-1, title='Hello, World!'):
        wx.Frame.__init__(self, parent, id, title, size=(300,300), pos=(100,100) )
        menuFile = wx.Menu()
        menuFile.Append(1, "About")
        menuFile.Append(2, "Exit")
        menuBar = wx.MenuBar()
        menuBar.Append(menuFile, "File")
        self.SetMenuBar(menuBar)
       
class App(wx.App):
    def OnInit(self):
        self.frame = Frame()
        self.frame.Show()
        return True

def main():
    app = App()
    app.MainLoop()

if __name__ == '__main__':
    main()

사용자 삽입 이미지

메뉴와 메뉴바 만들기




'Python' 카테고리의 다른 글

[wxPython] 메시지 박스 추가  (0) 2007.11.24
[wxPython] 상태바 추가  (0) 2007.11.23
[wxPython] 6.메뉴 만들기  (0) 2007.11.23
[wxPython] 윈도우 특정 위치에 출력시키기  (0) 2007.11.23
[wxPython] 윈도우 크기 조절  (0) 2007.11.23
[wxPython] Hello, World 만들기  (0) 2007.11.23
Posted by getcome
Python2007.11.23 17:44
윈도우를 특정 위치에 출력시키려면, pos 값을 설정하면 된다. 기준은 주모니터 좌측 상단이 (0,0)이며, x 축은 오른쪽으로, y축은 아래쪽으로 증가 방향이 된다.

import wx

class Frame(wx.Frame):
    def __init__(self, parent=None, id=-1, title='Hello, World!'):
        wx.Frame.__init__(self, parent, id, title, size = (300, 300), pos= (100,100) )
       
class App(wx.App):
    def OnInit(self):
        self.frame = Frame()
        self.frame.Show()
        return True

def main():
    app = App()
    app.MainLoop()

if __name__ == '__main__':
    main()

사용자 삽입 이미지

윈도우 원하는 위치에 출력 - 모니터 좌측 상단에서 (100,100)만큼 떨어진 곳에 출력



Posted by getcome
Python2007.11.23 17:37
자, 이번에는 윈도우 크기를 조절해 보자. 크기는 Frame 을 만들 때 크기를 지정하면 된다. 가로, 세로 각각 300픽셀이 되도록 설정하자.

import wx

class Frame(wx.Frame):
    def __init__(self, parent=None, id=-1,
                 title='Hello, World!'):
        wx.Frame.__init__(self, parent, id, title, size = (300, 300) )
       

class App(wx.App):
    def OnInit(self):
        self.frame = Frame()
        self.frame.Show()
        return True

def main():
    app = App()
    app.MainLoop()

if __name__ == '__main__':
    main()
사용자 삽입 이미지

윈도우 크기 설정







'Python' 카테고리의 다른 글

[wxPython] 6.메뉴 만들기  (0) 2007.11.23
[wxPython] 윈도우 특정 위치에 출력시키기  (0) 2007.11.23
[wxPython] 윈도우 크기 조절  (0) 2007.11.23
[wxPython] Hello, World 만들기  (0) 2007.11.23
[wxPython] 설치 폴더 둘러보기  (0) 2007.11.23
[wxPython] 설치하기  (0) 2007.11.23
Posted by getcome
Python2007.11.23 16:29
예제의 고전 Hello, World를 만들어 보자.
비어있는 다이얼로그 창을 하나 만들고, 윈도우 타이틀바에 hello, world라고 쓰는 것이 일차 최종 목표이다.

참고 예제: C:\Program Files\wxPython2.8 Docs and Demos\wxPython\samples\wxPIA_book\Chapter-01 에서 bare.py

import wx
class App(wx.App):
    def OnInit(self):
        frame = wx.Frame(parent=None, title='Bare')
        frame.Show()
        return True

app = App()

app.MainLoop()
사용자 삽입 이미지

bare.py 실행 모습


wxPython을 사용한 프로그램의 기본 골격을 보여주는 예제이다. 어떤 예제든 wxPython을 이용할 경우 다음과 같은 구조를 가진다.
1. wxPython 패키지를 임포트 시킨다.  => import wx
2. wxPython의 App 클래스를 상속받아 서브 클래스를 생성한다. => class App(wx.App):
3. initialization 메소드를 만든다. => def OnInit(self):
4. 필요한 application 클래스 인스탄스를 만든다.
5. 어플리케이션의 메인 루프로 진입한다. => app.MainLoop()

자, 이 구조에서는 frame을 맘대로 바꿀 수 없다. 그래서 wx.Frame 클래스에서 파생된 Frame 클래스를 만드는 형태로 소스를 수정하자. 이 소스는 같은 폴더에 있는 spare.py 이다.
import wx

class Frame(wx.Frame):
    pass

class App(wx.App):

    def OnInit(self):
        self.frame = Frame(parent=None, title='Spare')
        self.frame.Show()
        self.SetTopWindow(self.frame)
        return True

if __name__ == '__main__':
    app = App()
    app.MainLoop()
사용자 삽입 이미지

spare.py 실행 모습


실행화면은 똑같다. 하지만 추후 Frame 클래스에서 윈도우 크기, 위치 등을 맘대로 바꿀 수 있을 것이다.

자, 이제 원래 목적했던 대로 Hello,World를 윈도우 타이틀바에 출력해 보자. 위 예제에서 'Spare' 부분만 수정하면 되겠지만, 좀 더 프로그램다운 꼴을 갖추기 위해서는 Frame() 메소드에서 초기화할 때 지정하는 편이 낫다.
import wx

class Frame(wx.Frame):
    def __init__(self, parent=None, id=-1,
                 title='Hello, World!'):
        wx.Frame.__init__(self, parent, id, title)

class App(wx.App):
    def OnInit(self):
        self.frame = Frame()
        self.frame.Show()
        return True

def main():
    app = App()
    app.MainLoop()

if __name__ == '__main__':
    main()
사용자 삽입 이미지

Hello, World 실행 모습


Posted by getcome
Python2007.11.23 14:55
wxPython과 데모 예제를 설치하면, 시작 메뉴에 wxPython 2.9 Docs and Demo Tools 항목이 생성되어 있고, 이 하위에는 다음과 같은 프로그램들이 등록되어 있다.
사용자 삽입 이미지

wxPython 데모 예제들


wxPython이 제공하는 전반적인 기능을 훓어보고싶다면, "Run the wxPython DEMO" 항목을 선택해 보자. 아래 그림과 같은 윈도우가 뜬다. 왼쪽 목록에는 wxPython이 제공하는 기능별로 분류가 되어있다. 트리에서 항목을 선택하면 해당 기능의 설명, 소스 코드와 소스 코드를 실행했을 때 수행되는 결과를 바로 확인해 볼 수 있다.
사용자 삽입 이미지
손쉽게 wxPython의 모든 기능을 짧은 시간에 파악할 수 있으므로, 한 번씩 모두 돌려보자.

위 예제 소스에서 시작하는 것도 좋지만 아무래도 쉬운 예제부터 단계적으로 진행되는 것이 학습하는데는 더 낫다. 직접 wxPython 2.8 Docs and Demos 폴더를 뒤져보면, wxPython 밑에 samples 폴더 밑에 wxPIA_book 폴더가 보인다. 2007년 기준으로 wxPython 관련 책으로 유일한 wxPython in Action 책의 예제 코드이다. 책이 있으면 더욱 좋지만, 예제가 차근차근 잘 작성되어 있어 굳이 책이 없어도 학습할 수 있을 것 같다. 책을 사고 싶은 사람은
http://www.manning.com/rappin/ 에서 구매할 수 있다.
Posted by getcome
Python2007.11.23 13:42
일단 Python 2.5가 설치되어 잘 동작한다는 가정에서 시작한다.

1. Windows 용 wxpython 입수하기
   링크에 접속하여 Win32용 unicode 바이너리 파일을 내려 받는다.
   2007.11.23일자 기준으로 파일 이름은 wxPython2.8-win32-unicode-2.8.6.1-py25.exe (7.4MB)이다. 추가로 doc, sample, demo 파일도 내려받자. 이 파일은 wxPython2.8-win32-docs-demos-2.8.6.1.exe 이며 6.5MB 이다.

2. 설치하기
 설치 방법은 간단하다. 내려 받은 파일을 단순히 실행시키면 된다.설치가 되고 나면 wxPython README 파일이 화면에 뜬다. 추가로 예제, 데모 프로그램을 설치한다. 매우 유용한 코드들이 많이 들어있다.

사용자 삽입 이미지

wxPython 설치

사용자 삽입 이미지

라이센스

사용자 삽입 이미지

python 설치 폴더

사용자 삽입 이미지

설치할 컴포넌트

사용자 삽입 이미지

열심히 설치

사용자 삽입 이미지

설치


자, 이제 데모 예제를 깔아보자.
사용자 삽입 이미지

데모 예제 설치

사용자 삽입 이미지

라이센스

사용자 삽입 이미지

설치 폴더


Posted by getcome