°­ÁÂ

HOME > °­ÁÂ >
°­ÁÂ| ¸®´ª½º ¹× ¿ÀǼҽº¿¡ °ü·ÃµÈ °­Á¸¦ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
 
wxPythonÀ» ÀÌ¿ëÇÑ °£´ÜÇÑ ¾îÇø®ÄÉÀ̼Ç
Á¶È¸ : 11,317  


wxPythonÀ» ÀÌ¿ëÇÑ °£´ÜÇÑ ¾îÇø®ÄÉÀ̼Ç

ÇÁ·Î±×·¥¸í

wxPython

¸®ºä¹öÀü

wxPython 2.6.3.3

¿î¿µÃ¼Á¦

All

¶óÀ̼¾½º GPL
Áö¿ø¾ð¾î

Python

ȨÆäÀÌÁö

http://www.wxpython.org http://wiki.wxpython.org

tÁ¦ÀÛ»ç

Robin Dunn Software Craftsman

ÀÛ¼ºÀÚ

¼öÆÛÀ¯ÀúÄÚ¸®¾Æ ¼­¹öÆÀhttp://www.superuser.co.kr

 
  • ¼Ò°³¿Í ÀÛµ¿¿ø¸®
  • top

    wxPythonÀº ±¸Á¶ÀûÀÌ°í ¹è¿ì±â ½¬¿î Python¾ð¾î¸¦ ÀÌ¿ëÇÏ¿© GUI(Graphical User Interface)¸¦ ½Å¼ÓÇÏ°í °£·«È÷ Á¦ÀÛÇϵµ·Ï µµ¿ÍÁÖ´Â GUI ÀúÀÛµµ±¸(toolkit)ÀÌ´Ù. wxPythonÀº Å©·Î½º Ç÷§Æû GUI¶óÀ̺귯¸®ÀÎ wxWidgets C++class ¸¦ Python¿¡¼­ Áö¿ø°¡´É Çϵµ·Ï Á¦ÀÛÇÑ °ÍÀÌ´Ù.

    ¡Ø PythonÀ» Á¢Çغ¸Áö ¾Ê¾Ò´Ù¸é Python Æ©Å丮¾óÀ» Àо±â ¹Ù¶õ´Ù. C¿Í C++ ȤÀº ´Ù¸¥ ¾ð¾î¿¡ ¾î´À Á¤µµ Àͼ÷ÇÏ´Ù¸é 2~3ÀÏ Á¤µµ¿¡ Python Äڵ带 ÃæºÐÈ÷ ÀÌÇØ ÇÒ ¼ö ÀÖ´Ù°í ÇÑ´Ù.

    Python°ú ¸¶Âù°¡Áö·Î wxWindows ¿ª½Ã Open Source À̹ǷΠ»ç¿ë¿¡ ¾Æ¹«·± Á¦ÇÑÀÌ ¾ø´Ù.(wxWindows SourceÀÚü¸¦ ¼öÁ¤ÇÏ¿© »ç¿ëÇÏ´õ¶óµµ ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù)

    wxWindows¸¦ ±â¹ÝÀ¸·Î ¸¸µé¾îÁø wxPython ¿ª½Ã Open Source Project·Î ÁøÇà °³¹ßµÇ°í ÀÖ´Ù.

    wxpPythonÀº ¿äÁòÀÇ Linux ¹èÆ÷ÆÇ¿¡ ±âº»À¸·Î žÀçµÇ¾î Á¦°øµÇ¹Ç·Î Linux ¼³Ä¡¸¸À¸·Îµµ »ç¿ëÀÌ °¡´ÉÇÏ´Ù. ÇÏÁö¸¸ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀº Linux³ª Windows ±âŸ OS¿¡¼­´Â python, wxPythonÀ» ¼³Ä¡ ÇÏ¿© ÁÖ¾î¾ßÇÑ´Ù.(pythonÀº http://www.python.org¿¡¼­ ´Ù¿î¹ÞÀ¸¸é µÇ°í, wxPythonÀº http://www.wxpython.org¿¡¼­ ´Ù¿î¹ÞÀ¸¸é µÈ´Ù. wxPython¼³Ä¡¸¸À¸·Î pythonÀÌ ¼³Ä¡µÇ´Â °æ¿ìµµ ÀÖÁö¸¸ °¢°¢ÀÇ ÆÐŰÁö¸¦ ¼³Ä¡ÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ »ç¿ëÀÚ È¯°æ¿¡ ÃÖÀûÈ­ ÇÒ ¼ö ÀÖ´Â ¹æ¾ÈÀ̶ó »ý°¢µÈ´Ù.)


  • Ư¡ ¹× ¿ª»ç
  • top

    ¤¡. ¹è¿ì±â ½±´Ù.

    C¿Í C++ ȤÀº ´Ù¸¥ ¾ð¾î¿¡ ¾î´À Á¤µµ Àͼ÷ÇÏ´Ù¸é 2~3ÀÏ Á¤µµ¿¡ Python Äڵ带 ÃæºÐÈ÷ ÀÌÇØ ÇÒ ¼ö ÀÖ´Ù°í ÇÑ´Ù. ÀÌ·¸°Ô ½¬¿î ¾ð¾î·Î ÀÛ¼ºµÇ¾îÁö´Â wxPythonÀº ¹è¿ì±â¿¡ ¸Å¿ì ÆíÇÏ°í ½±´Ù´Â Á¡ÀÌ °¡Àå Å« ÀåÁ¡À̶ó ÇϰڴÙ. ¶ÇÇÑ PythonÀº ¾ÆÁÖ °­·ÂÇÑ ¾ð¾î·Î½áÀÇ ±â´Éµµ °¡Á³±â¿¡ wxPython ¿ª½Ã °­·ÂÇÑ ´É·ÂÀ» ¹ßÈÖÇÒ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.

    ¤¤. Àç¹ÌÀÖ´Ù.

    °³¹ßÀÚ¶ó¸é ¾ð¾îÀÇ ¼±Åÿ¡ ÀÖ¾î ±â¿ÕÀÌ¸é ¾ð¾î¸¦ ¹è¿ì°í »ç¿ëÇϱ⿡ Æí¸®ÇÔ°í Àç¹Ì³²ÀÌ ¼û°ÜÁ® ÀÖ¾î¾ß ÇÒ °ÍÀÌ´Ù. ±¸½À¿¡ ¾ô¸Å¿© Àְųª ±¸ÅÂÀÇ¿¬ÇÏ´Ù¸é ¾ð¾î¸¦ ¹è¿ì°í »ç¿ëÇÏ´Â »ç¶÷ÀÇ ÀÔÀå¿¡¼­´Â À̺¸´Ù ÇǰïÇÑ ÀÏÀº ¾øÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ wxPythonÀº °­·ÂÇÏ°í °£·«ÇÔ ¸¸Å­À̳ª Àç¹Ì°¡ ¼û°ÜÁ® ÀÖ´Â GUI ÀúÀÛµµ±¸ÀÌ´Ù.

    ¤§. Å©·Î½º Ç÷§Æû ȯ°æ ÁöÇâ

    GUI È­¸é °³¹ß¿¡¼­ Windows ȯ°æÀ» »©³õÀ» ¼ö ¾ø´Ù. ±×·¯¸é¼­µµ Linux³ª ´Ù¸¥ ¿©Å¸ÀÇ OSÀÇ GUI¿ª½Ã °í·Á´ë»óÀÌ µÇ¾î¾ßÇÏ´Â °ÍÀÌ Çö½ÇÀÌ´Ù. ÀÌ·¸°Ô ¸ðµç OS Ç÷§Æû¿¡ ±¸¼ÓµÇÁö ¾Ê°í ÀÚÀ¯·ÎÀÌ ±¸ÇöÇÒ ¼ö ÀÖ´Â Å©·Î½º Ç÷§Æûµµ±¸°¡ ÀÖ´Ù¸é ÁÁÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ ¾ÆÁ÷ ±×·± ¿Ïº®ÇÑ µµ±¸´Â Á¸ÀçÇÏÁö ¾Ê´Ù. ±×·¯³ª ÇöÀç±îÁö ³ª¿Í ÀÖ´Â GUI toolkitÁß¿¡ wxPythonÀÌ ¼±µÎ±×·ì¿¡¼­ ´Þ¸®°í ÀÖ´Ù. wxPythonÀº Å©·Î½º Ç÷§Æû ȯ°æÀ» ÁöÇâÇϰí ÀÖ´Ù´Â ¸»ÀÌ´Ù.

    ¤©. ±â¾÷ȯ°æ¿¡ Àû¿ë °¡´É¼º

    ÇÁ·Î±×·¥À» Çϸç Ãë¹Ì·Î ÇÏ´Â »ç¶÷Àº ¾ÆÁÖ µå¹°´Ù. °á±¹ ÇÁ·Î±×·¥Àº ±â¾÷(enterprise)ȯ°æ¿¡ Áö¹èµÉ ¼ö¹Û¿¡ ¾ø´Ù°í ÇÊÀÚ´Â »ý°¢ÇÑ´Ù. ±×·¯±â¿¡ °³¹ßµµ±¸·Î »ç¿ëÇÒ GUI toolkitÀº ±â¾÷ȯ°æ¿¡ ÀûÀýÈ÷ ´ëÀÀÀÌ µÇ¾î¾ß ÇÒ °ÍÀÌ´Ù. wxPythonÀº ÇöÀç ¼ö¸¹Àº ±â¾÷ȯ°æ¿¡¼­µµ ÈǸ¢ÇÑ ±â´ÉÀ» ¹ßÈÖÇϰí ÀÖ´Ù.

    ¤±. ¶óÀ̼¾½º

    »ç¿ëÇÒ µµ±¸°¡ ÀÌ¿ÕÀÌ¸é °ø°³µÈ µµ±¸ÀÌ¸é ´õ¿í ÆíÇÒ °ÍÀÌ¸é »ç¿ëÀÚÃþµµ ÈξÀ ³ÐÀ» °ÍÀ̶ó »ý°¢µÈ´Ù. wxPython ¿ª½Ã Open Source ¶óÀ̼¾½º Á¤Ã¥À» µû¸£°í ÀÖÀ¸¹Ç·Î »ç¿ëºñ¿ëÀÇ ºÎ´ãµµ ÁÙÀÏ ¼ö ÀÖ´Ù.

     


  • »ç¿ë¿ëµµ
  • top

    - GUI ÇÁ·Î±×·¡¹ÖÀÇ ±âº»°³³ä ÀÍÈ÷±â

    - Å©·Î½º Ç÷§Æû Áö¿ø GUI ÇÁ·Î±×·¡¹Ö

    - Graphical user interface¸¦ °£´ÜÇϰí, ºü¸¥ ½Ã°£ ³» Á¦ÀÛÇϰíÀÚ ÇÒ °æ¿ì

     

  • °£´ÜÇÑ ¾îÇø®ÄÉÀÌ¼Ç ¸¸µé±â
  • top

     

    Source 1) Hello World

    #!/usr/bin/python

    from wxPython.wx import *

    class MyApp(wxApp):

    def OnInit(self):

    frame = wxFrame(NULL, -1, "Hello from wxPython")

    frame.Show(true)

    self.SetTopWindow(frame)

    return true

    app = MyApp(0)

    app.MainLoop()

    À§ ¼Ò½º¸¦ ½ÇÇàÇÏ¸é ¾Æ·¡ ±×¸²À» º¼ ¼ö ÀÖ´Ù.

      

    Source 1 ¼³¸í

    wxPython À» importÇÏ¿© wxPython¿¡¼­ Á¦°øÇÏ´Â °¢Á¾ Ŭ·¡½º¿Í ÇÔ¼ö¸¦ À̿밡´ÉÇÏ°Ô ¸¸µç´Ù.

    wxPythonÀº wxAppŬ·¡½º¿¡¼­ Á¦°øÇÏ´Â OnInit ¸Þ½îµå¸¦ ÅëÇØ¼­ ¸¸µé¾îÁø´Ù.

    OnInit´Â Windows¸¦ ¸¸µé°í, ÇÁ·Î±×·¥ÀÌ Ã³À½¿¡ ½ÃÀÛÇϸ鼭 ÇÊ¿äÇÑ °¢Á¾ ÃʱâÈ­ ÀÛ¾÷À» ½ÇÇàÇÑ´Ù.

    ±×¸®°í wxFrameÀ» ÀÌ¿ëÇÏ¿© window(parent window ȤÀº main frame)¸¦ ¸¸µç´Ù. óÀ½¿¡ À©µµ¿ì¸¦ ¸¸µé¶§ »ý¼ºÀÚ(constructor)¸¦ ÀÌ¿ëÇÏ¿© À©µµÀÇ À§Ä¡¿Í Å©¸®¸¦ ÁöÁ¤ÇØÁÖÁö¸¸, ¿©±â¼­´Â ÇÁ·Î±×·¥À» ÃÖ¼ÒÇÑ °£¼ÒÈ­ ½Ã۱â À§Çؼ­ »ý·«ÇÏ¿´±â¿¡ ±âº»°ªÀ¸·Î ¸¸µé¾îÁö°Ô µÈ´Ù.

    ¸¶Áö¸· 2°³ÀÇ ¶óÀÎÀº ¾Æ¸¶µµ ¸ðµç wxPythonÇÁ·Î±×·¥¿¡ °øÅëÀûÀ¸·Î Æ÷Ç﵃ °ÍÀÌ´Ù. ÀÌ´Â ¿ì¸®°¡ ¸¸µç ¾îÇø®ÄÉÀÌ¼Ç Å¬·¡½ºÀÇ instance¸¦ »ý¼ºÇϰí MainLoop()¸Þ½îµå¸¦ ÅëÇØ¼­ ¸¸µç Å¬ÇØ½º¸¦ È£ÃâÇÏ°Ô µÈ´Ù. MainLoop´Â wxPython¾îÇø®ÄÉÀ̼ÇÀÇ ÇÙ½É ¿ä¼Ò·Î À̺¥Æ®¸¦ ÇÁ·Î¼¼½ÌÇÏ°í ¾îÇø®ÄÉÀ̼ǿ¡ Æ÷ÇԵǾî ÀÖ´Â ¿©·¯ °¡Áö À©µµ¿ì¿¡ À̺¥Æ®¸¦ Àü´ÞÇÏ´Â µîÀÇ ÀÏÀ» ¼öÇàÇÑ´Ù. ´ÙÇàÀ̵µ ¿ì¸®´Â ÀÌ·¯ÇÑ °úÁ¤ÀÌ ÀϾ´Â ¼¼ºÎÀûÀÎ ³»¿ëÀ» ¸ô¶óµµ µÈ´Ù. wxPythonÀÌ ¾Ë¾Æ¼­ ó¸®ÇØ Áֱ⠶§¹®ÀÌ´Ù.



    Source 2) small editor

    #!/usr/bin/python

    from wxPython.wx import *

    class MainWindow(wxFrame):

    def __init__(self, parent, id, title):

    wxFrame.__init__(self, parent, -4, title, size = (200, 100),

    style=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE)

    self.control = wxTextCtrl(self, 1, style=wxTE_MULTILINE)

    self.Show(true)

    app = wxPySimpleApp()

    frame = MainWindow(None, -1, "Hello from wxPython")

    frame.Show(1)

    app.MainLoop()

    Source 2 ¼³¸í

    ÀÌ ¼Ò½º´Â ¸Å¿ì °£´ÜÇÑ ¿¡µðÅÍ À©µµ¿ìÁîâÀÌ´Ù.

    wxFrameÀ¸·ÎºÎÅÍ »ó¼Ó ¹ÞÀº MainWindow¶ó´Â Ŭ·¡½º¸¦ Á¤ÀÇÇϰí __init__ ¸Þ½îµå¸¦ ¿À¹ö·Îµù ÇÑ´Ù. wxTextCtrlÀ̶ó´Â °£´ÜÇÑ ÆíÁý±â ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¹®¼­ ÆíÁý textâÀ» ¸¸µç´Ù. ¼Ò½º¸¦ ½ÇÇàÇÏ¸é ´Ü¼øÈ÷ text ÀÔ·Â ¹× ÆíÁý ±â´É¸¸ÀÌ È°¼ºÈ­ µÈ´Ù. ÆÄÀÏ ÀúÀå°ú °°Àº ±â´ÉÀ» Ãß°¡·Î ³Ö´Â ¼Ò½º¸¦ °øºÎÇØº¸¸é ´õ ÈǸ¢ÇÑ editor°¡ µÉ °ÍÀÌ´Ù.



    Source 3) small editor + ¸Þ´º¿Í »óŹ٠Áö¿ø

    #!/usr/bin/python

    from wxPython.wx import *

    ID_ABOUT = 101

    ID_EXIT = 102

    class MyFrame(wxFrame):

    def __init__(self, parent, ID, title):

    wxFrame.__init__(self, parent, ID, title,

    wxDefaultPosition, wxSize(200, 150))

    self.CreateStatusBar()

    self.SetStatusText("This is the statusbar")

    menu = wxMenu()

    menu.Append(ID_ABOUT, "&About",

    "More information about this program")

    menu.AppendSeparator()

    menu.Append(ID_EXIT, "E&xit", "Terminate the program")

    menuBar = wxMenuBar()

    menuBar.Append(menu, "&File");

    self.SetMenuBar(menuBar)

    class MyApp(wxApp):

    def OnInit(self):

    frame = MyFrame(NULL, -1, "Hello from wxPython")

    frame.Show(true)

    self.SetTopWindow(frame)

    return true

    app = MyApp(0)

    app.MainLoop()

    Source 3 ¼³¸í

    À§ Source 2) ¼Ò½ºÆÄÀÏ¿¡ ¾Æ·¡ µÎºÎºÐÀ» Ãß°¡ÇØ ³Ö¾ú´Ù.

    Ãß°¡1)

    ID_ABOUT = 101

    ID_EXIT = 102

    Ãß°¡2)

    menu = wxMenu()

    menu.Append(ID_ABOUT, "&About",

    "More information about this program")

    menu.AppendSeparator()

    menu.Append(ID_EXIT, "E&xit", "Terminate the program")

    menuBar = wxMenuBar()

    menuBar.Append(menu, "&File");

    self.SetMenuBar(menuBar)

    Ãß°¡ºÎºÐ¿¡ ÀÇÇØ Source 2¿¡¼­ ´Ü¼øÇÏ°í º¼Ç°¾ø´ø â¿¡¼­ ¸Þ´º¿Í »óŹ٠±â´ÉÀÌ Å¾ÀçµÈ ¸ÚÁø ¿¡µðÅͰ¡ ±¸ÇöµÇ¾ú´Ù.

      

     


    °£·«È÷ wxPythonÀ» ÀÌ¿ëÇÏ¿© ÇÁ·Î±×·¥ Á¦ÀÛ ¹æ¹ýÀ» ¾Ë¾Æº¸¾Ò´Ù. ÀÌ¿Ü ¼ö¸¹Àº ±â´ÉµéÀÌ Á¸ÀçÇÏÁö¸¸ Áö¸é°ü°è»ó ¿©±â¼­ Á¤¸®Çϵµ·Ï ÇϰڴÙ.

    wxPythonÀÇ È°¿ë ¹æ¾ÈÀº ¹«±Ã¹«ÁøÇÒ µíÇÕ´Ï´Ù. ÇÊÀÚµµ ´õ¿í ¿­½ÉÈ÷ ÇнÀÇÏ¿© wxPythonÀÇ È°¿ë¹æ¾ÈÀ» ¿¬±¸ÇÏ¿© ´ÙÀ½¹ø¿¡´Â wxPythonÀÇ È°¿ë¹æ¾È¿¡ ´ëÇØ ¹®¼­ÀÛ¾÷À» ÇØº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

    ´õ ÇÊ¿äÇÑ ÀÚ·á´Â http://wxpython.org/tutorial.php Âü°íÇÏ½Ã±æ ¹Ù¶ø´Ï´Ù.

     

     

    [¿ø±Û¸µÅ©] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1202


    ÀÌ ±ÛÀ» Æ®À§ÅÍ·Î º¸³»±â ÀÌ ±ÛÀ» ÆäÀ̽ººÏÀ¸·Î º¸³»±â ÀÌ ±ÛÀ» ¹ÌÅõµ¥ÀÌ·Î º¸³»±â

     
    ÁÖÁøÀº
    º»¸í : ÁÖÁøÀº
    E-Mail : thinkbook°ñ»±ÀÌsuperuser.co.kr
    ¼Ò¼Ó : (ÁÖ)¼öÆÛÀ¯ÀúÄÚ¸®¾Æ