[GUI] wxPython 사용하여만든 것입니다. 본문

[PL]/Python

[GUI] wxPython 사용하여만든 것입니다.

객과 함께. 2007. 10. 16. 16:51
#!/usr/bin/python
#coding: cp949
import wx
from example1 import SketchWindow
"""
    제작일자 : 2007.10.13 ~ 16
    Python version : python 2.5
    wxPython version : wxpython 2.8
"""
class Sketchrame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, None, -1, '그리기와 좌표 출력',size=(800, 600))
#       윈도우를 호출하여 프레임에 붙이기 위한 부분	
        self.sketch = SketchWindow(self,-1) 
#       콤보박스의 메뉴얼 작성 단계.       
        sampleList = ['검정', '빨강','파랑','초록']
#       콤보 박스의 위치와 콤보박스의 크기 메뉴와 연결 하는 부분.
        self.color = wx.ComboBox(self.sketch,-1, "색상선택 ", (145, 10), (90,40),
                    sampleList, wx.CB_DROPDOWN)
#	콤보 박스와 마우스 동작에 관한 것의 지정 하는 부분 
#	(함수 호출과 이벤트가 발생하는 부분)       
        self.sketch.Bind(wx.EVT_MOTION, self.OnMove)
        self.sketch.Bind(wx.EVT_COMBOBOX, self.OnColor ,self.color)
#	마우스 이동시의 좌표 부분을 나타내기 위한 부분. 
        wx.StaticText(self.sketch, -1, " Pos :", pos=(10, 12))
        self.posCtrl = wx.TextCtrl(self.sketch, -1, "", pos=(42,10))
#       프로그램 종료 버튼을 표시할 부분 정의     
         btn = wx.Button(self.sketch, -1, "종 료",pos=(700,530))
        self.sketch.Bind(wx.EVT_BUTTON, self.OnInId)        
    def onColor(self, event):
#	콤보 박스의 이벤트 함수 이며 콤보 박스 메뉴와 연결 부분의 나타내고 있는 부분.
        color = event.GetString()        
        if color == "검정":
            self.sketch.SetColor(wx.BLACK)
            self.sketch.SetThickness(1)     # 마우스로 그림을 그릴때 펜의 굵기
            wx.Pen(color,1,wx.SOLID )            
        elif color == "빨강":
            self.sketch.SetColor(wx.RED)
            self.sketch.SetThickness(1)
            wx.Pen(color,1,wx.SOLID )            
        elif color == "파랑":
            self.sketch.SetColor(wx.BLUE)
            self.sketch.SetThickness(1)
            wx.Pen(color,1 ,wx.SOLID )                    
        elif color == "초록":
            self.sketch.SetColor(wx.GREEN)
            self.sketch.SetThickness(1)
            wx.Pen(color,1,wx.SOLID )
#    마우스 이벤트 함수로써 마우스 이동 좌표를 나타내고 있는 부분.	
    def onMove(self, event):
        self.posCtrl.SetValue(str(event.GetPosition()))
        event.Skip()
#   프로그램을 종료 하기 위한 이벤트 함수.      
    def onInId(self,event):
        self.Close(True)
# 프로그램의 메인 부분.                  
if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = Sketchrame(None)
    frame.Show(True)
    app.MainLoop()

'[PL] > Python' 카테고리의 다른 글

[wxPython] static box & radio button  (0) 2007.11.09
[wxpython] staticbox  (0) 2007.10.26
[GUI ] wxpython 을 사용하여.  (0) 2007.10.12
wxpython .............  (0) 2007.10.11
PIL 이용한 이미지처리 - 3  (0) 2007.09.20