본 내용의 출처는 이글루 블로그의 '하린아빠' 라는 네임을 쓰시는 분의 블로그입니다.
[출처] - http://pythondev.egloos.com/84777
행여나 이글루 블로그가 없어지면 참고할 곳이 사라지기에 주인장님께 댓글을 남기고 퍼 옵니다.
[wxPython] wx.ToolBar 만들기
#!/usr/bin/python
# toolbar.py
import wx
class MyToolBar(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(350, 250))
# vbox(컨트롤 그룹 박스) 생성 : 수직
vbox = wx.BoxSizer(wx.VERTICAL)
# ToolBar 생성(가로형, 테두리 없음)
toolbar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL | wx.NO_BORDER)
# ToolBar 이미지 버튼 추가 1~3
toolbar.AddSimpleTool(1, wx.Image('icons/stock_new.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'New', '')
toolbar.AddSimpleTool(2, wx.Image('icons/stock_open.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Open', '')
toolbar.AddSimpleTool(3, wx.Image('icons/stock_save.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Save', '')
# ToolBar 구분선 추가
toolbar.AddSeparator()
# ToolBar 이미지 버튼 추가 4
toolbar.AddSimpleTool(4, wx.Image('icons/stock_exit.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Exit', '')
# Toolbar의 Bitmap 사이즈를 설정한다. (가로,세로 : 24)
tsize = (24, 24)
toolbar.SetToolBitmapSize(tsize)
# vbox에 toolbar를 추가한다.
vbox.Add(toolbar, 0,wx.EXPAND)
# ToolBar 추가 갱신
toolbar.Realize()
self.SetSizer(vbox)
# 상태바 생성
self.statusbar = self.CreateStatusBar()
# frame 중앙정렬
self.Center()
# Toolbar 버튼과 이벤트 함수를 연결한다.
self.Bind(wx.EVT_TOOL, self.OnNew, id=1)
self.Bind(wx.EVT_TOOL, self.OnOpen, id=2)
self.Bind(wx.EVT_TOOL, self.OnSave, id=3)
self.Bind(wx.EVT_TOOL, self.OnExit, id=4)
# New toolbar 이벤트 함수
def OnNew(self, event):
self.statusbar.SetStatusText('New Command')
# Open toolbar 이벤트 함수
def OnOpen(self, event):
self.statusbar.SetStatusText('Open Command')
# Save toolbar 이벤트 함수
def OnSave(self, event):
self.statusbar.SetStatusText('Save Command')
# Exit toolbar 이벤트 함수
def OnExit(self, event):
self.Close()
class MyApp(wx.App):
def OnInit(self):
# Toolbar를 가진 frame 생성
frame = MyToolBar(None, -1, 'toolbar.py')
frame.Show(True)
return True
app = wx.App()
mainapp = MyApp(app)
app.MainLoop()
[실행 결과]
'Language > Python' 카테고리의 다른 글
[wxPython] wx.BoxSizer 이용하기 (0) | 2017.02.01 |
---|---|
[wxPython] wx.Button(버튼) 만들기 (0) | 2017.02.01 |
[wxPython] wx.ManuBar 만들기(체크, 라디오, 서브 매뉴) (0) | 2017.01.28 |
[wxPython] wx.MenuBar를 이용한 메뉴 만들기(기본) (0) | 2017.01.28 |
[wxPython] wx.Frame 아이콘 설정하기 (0) | 2017.01.28 |