본문 바로가기

Language/Python

[wxPython] wx.MenuBar를 이용한 메뉴 만들기(기본)

본 내용의 출처는 이글루 블로그의 '하린아빠' 라는 네임을 쓰시는 분의 블로그입니다.

[출처] - http://pythondev.egloos.com/84365


행여나 이글루 블로그가 없어지면 참고할 곳이 사라지기에 주인장님께 댓글을 남기고 퍼 옵니다.





[wxPython] wx.MenuBar를 이용한 메뉴 만들기(기본)



#!/usr/bin/python

# menu1.py

import wx

# menu 클래스 정의

class MyMenu(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(200, 150))

       # menubar 생성
        menubar = wx.MenuBar()
        # file 메뉴 생성
        file = wx.Menu()
        # edit 메뉴 생성
        edit = wx.Menu()
        # help 메뉴 생성
        help = wx.Menu()
        # file / Open 추가
        file.Append(101, '&Open', 'Open a new document')
       # file / Save 추가
        file.Append(102, '&Save', 'Save the document')
        # file에 구분선 추가
        file.AppendSeparator()
       # quit 메뉴 아이템 생성
        quit = wx.MenuItem(file, 105, '&Quit\tCtrl+Q', 'Quit the Application')
       # quit 메뉴에 Bitmap 아이콘 추가 (ConvertToBitmap -> png를 bitmap으로 변경)
        quit.SetBitmap(wx.Image('icons/stock_exit-16.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap())
       # file / Quit 추가
        file.AppendItem(quit)

        # menubar에 생성한 menu들을 추가함
        menubar.Append(file, '&File')
        menubar.Append(edit, '&Edit')
        menubar.Append(help, '&Help')
        # menubar 셋팅
        self.SetMenuBar(menubar)
        # 상태바를 생성한다.
        self.CreateStatusBar()

class MyApp(wx.App):
    def OnInit(self):
        # menu를 가진 frame 생성
        frame = MyMenu(None, -1, 'menu1.py')
        frame.Show(True)
        return True


app = wx.App()
mainapp = MyApp(app)
mainapp.MainLoop()



[실행 결과]