Programming

wxpython - 상단 메뉴 생성

crazyits 2013. 8. 13. 20:48
반응형

대다수의 응용프로그램들은 상단에 Text로 된 메뉴를 가지고 있다.

그 텍스트를 클릭하면 아래쪽으로 메뉴가 나오게 되고 그것을 선택하여 특정한 기능을 동작시킨다.

이러한 메뉴를 만들기 위해서는 MenuBar()를 사용한다.


import os
import wx
# wx 모듈을 로드한다.

app = wx.App()
# 어플리케이션 개체를 생성한다.
frame = wx.Frame(None, -1, 'wxpython 기본이 되는 창입니다.')
# Frame 개체 생성

StatusBar = frame.CreateStatusBar()
StatusBar.SetStatusText('현재 상태를 보여주는 하단 바입니다.')
# 창 아래 생태바를 출력한다.

MenuBar = wx.MenuBar()
menu = wx.Menu()
menu.Append(wx.ID_EXIT, 'E&xit\tAlt-X', '프로그램 종료')
MenuBar.Append(menu, '&파일')
frame.SetMenuBar(MenuBar)

frame.Show()
# Frame 개체를 화면에 나타냄

frame.Centre()
#실행 화면을 가운데로 고정한다.

app.MainLoop()
# 메인 루프 생성

 

MenuBar = wx.MenuBar()

메뉴바 객체를 생성한다.

menu = wx.Menu()

메뉴바에 추가하기 위한 메뉴 객체를 생성한다.

menu.Append(wx.ID_EXIT, ‘E&xit\tAlt-X’, ‘프로그램 종료’)

메뉴 객체에 메뉴를 추가한다.

첫번째는 식별자이고, 두번째는 메뉴에 표시되는 텍스트 문구, 3번째는 하단 상태바에 표시되는 문구이다.

MenuBar.Append(menu, ‘&파일’)

메뉴바에 위에서 생성된 menu를 추가한다.

frame.SetMenuBar(Menubar)

창에 메뉴바를 생성한다.

 

메뉴를 2개로 늘리고자 한다면 다음과 같이 하면 된다.

# 창 아래 상태바를 출력한다. ~ frame.Show() 사이에 있는 것을 다음과 같이 교체한다.


MenuBar = wx.MenuBar()
menu = wx.Menu()
menu.Append(wx.ID_EXIT, 'E&xit\tAlt-X', '프로그램 종료')
MenuBar.Append(menu, '&파일')

menu1 = wx.Menu()
menu1.Append(200, 'Test', '임시메뉴')
menu1.Append(201, '한국전력', '국민들이 봉인가?')
menu1.Append(202, '우리나라', '기업들은 살기좋고 국민들은 죽겠다.')
MenuBar.Append(menu1, '&편집')
frame.SetMenuBar(MenuBar)

 

처음 코드에서 늘어난 점은 Menu 객체를 하나더 생성하여 MenuBar에 추가한 것이다.

이런 식으로 메뉴를 더 생성할 수 있다.

교체를 하고 실행하면 메뉴바에 ‘파일’ 메뉴만 있던 것이 ‘편집’도 추가되어 두개가 된 화면을 확인할 수 있다.

반응형

'Programming' 카테고리의 다른 글

파이썬 모듈(pythone module) - platform  (0) 2013.08.13
wxpython - 기본창 생성  (0) 2013.08.13
wxPython은 무엇인가?  (0) 2013.08.12