ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : article>wxpython_ÇÁ·Î±×·¡¹Ö
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Docbook ¿ø¹®
1절. GUI ÇÁ·Î±×·¡¹ÖÀÇ Çʿ並 ´À³¢°Ô µÇ´Ù.ÇÊÀÚ´Â ÁÖ·Î Linux/Unix ȯ°æ¿¡¼ ½Ã½ºÅÛ/³×Æ®¿÷ ÇÁ·Î±×·¡¹Ö ÀÛ¾÷À» ÇØ¿ÔÀ¸¸ç, Windows °è¿·Î´Â Çлý½ÃÀý¿¡ ¾ÆÁÖ Àá±ñ º¼·£µå C++ À» ÀÌ¿ëÇØ¼ ³ëÆ®ÆÐµå(¾ó¸¶³ª ¸¸µé±â ½¬¿îÁö ¾Æ½Ã´ÂºÐÀº ´Ù ¾Æ½ÃÁÒ --;) Çѹø¸¸µé¾î º»°Ô À©µµ¿ìÁî(GUI) ÇÁ·Î±×·¡¹ÖÀÇ Ã³À½ÀÌÀÚ ¸¶Áö¸·ÀÌ¿´´Ù.(Linux ÂÊ¿¡¼´Â Qt ÂÊÀ» Á» º¸±ä Çß¾úÁö¸¸) ±×·¯´Ù°¡ ÃÖ±Ùµé¾î ¾÷¹«»óÀÇ ÀÌÀ¯·Î GUI ÇùÖÀ» ÇØ¾ßµÉ óÁö¿¡ ³õÀÌ°Ô µÇ¾ú´Ù. ²À ¾÷¹«»óÀÇ ÀÌÀ¯°¡ ¾Æ´Ï´õ¶óµµ, GUI ÇùÖÀÇ ±âº»°³³äÀº ÀÍÇô ³õ¾Æ¾ß °Ú´Ù°í ±×µ¿¾È »ý°¢Çϰí ÀÖ¾ú´Âµ¥, ¸¶Ä§ ÀߵǾú´Ù ½Í¾î ¾î¶² µµ±¸¸¦ »ç¿ëÇÏ´Â°Ô ÁÁÀ»Áö ¼±ÅÃÇϱâ À§ÇØ ¿©±â Àú±â µÚÀûÀ̱⠽ÃÀÛÇß´Ù. 1.1절. ¼±ÅñâÁؾ µµ±¸¸¦ ¼±ÅÃÇϱâ À§Çؼ´Â ¼±ÅÃÀ» À§ÇÑ ¸íÈ®ÇÑ ±âÁØÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ÇÊÀÚ´Â ´ÙÀ½°ú °°Àº ¿ä°ÇµéÀ» ¸¸Á·½ÃŰ´Â µµ±¸¸¦ ¿øÇß´Ù.
Â÷¼¼´ë ÀüÅõ±â ¼±Á¤ ¹æ½ÄÀ¸·Î °¢°¢ÀÇ ¿ä°Ç¿¡ ´ëÇÑ °¡ÁßÄ¡¸¦ ¸Å°Üº»´Ù¸é, °¡ÁßÄ¡ÀÇ ¼ø¼´Â (½±°í > Å©·Î½º Ç÷§ÆûÁöÇâÀûÀ̸ç > Àç¹ÌÀÖ°í > ±â¾÷ȯ°æÀû¿ë°¡´É¼º > ±î´Ù·ÓÁö ¾ÊÀº ¶óÀ̼¾½º) ¼øÀÌ¿´´Ù. 1.2절. wxPython À» ¼±Åà ÇÏ´ÙÀ§ÀÇ Á¶°ÇÀ» ¸¸Á·½ÃŰ´Â µµ±¸¸¦ ã±âÀ§ÇØ Á¶»ç¸¦ ÇØº»°á°ú ÃÖÁ¾ÀûÀ¸·Î Qt¿Í wxPython, Gtk ·Î ¼±ÅÃÀÇ ÆøÀ» Á¼Èú ¼ö ÀÖ°Ô µÇ¾ú´Ù. Qt¿Í Gtk ´Â °¢°¢ C++, C·Î ÀÌ·ç¾îÁ³À½À¸·Î ±×µ¿¾È ÀÍÇô¿Ô´ø ÇÁ·Î±×·¡¹Ö ±â¼úÀ» »ç¿ëÇÒ¼ö ÀÖ´Ù´Â Á¡°ú ÀÌ µÎ ¾ð¾î°¡(C/C++)ÀÌ °ÅÀÇ »ê¾÷Ç¥ÁØÀ̶ó´Â Á¡, ²Ï Àç¹ÌÀÖÀ»°Å¶ó´Â Á¡ÀÌ ¸¾¿¡ µé¾ú´Ù. °Ô´Ù°¡ QtÀÇ °æ¿ì´Â Å©·Î½º Ç÷§Æû ȯ°æÀ» Áö¿øÇϰí ÀÖÀ¸¸ç, °³ÀÎÀûÀ¸·Î ÁÁ¾ÆÇÏ°í ¸î¹ø ´Ù·ç¾îº» °æÇèÀÌ Àִٴ°͵µ ÀåÁ¡À¸·Î ÀÛ¿ëÇß´Ù. Gtk ¿ª½Ã ¸Å¿ì ÈǸ¢Çϱä ÇÏÁö¸¸, Qt¿¡ ºñÇØ ±×¸® ÁÁ¾ÆÇÏÁö ¾Ê°í, ´Ù·ç¾îº»Àûµµ ¾ø¾úÀ¸¸ç, Å©·Î½º Ç÷¡½º Ç÷§Æû ȯ°æÀÇ Áö¿øÀÌ 3°³ÀÇ µµ±¸Áß °¡Àå Ãë¾àÇß´Ù. ±â¹Ý¾ð¾î°¡ C¶ó´Â °Íµµ Á» ¸¾¿¡ µéÁö ¾Ê¾Ò´Ù. °á±¹ wxPython À» ¼±ÅÃÇß´Ù. ÀÌÀ¯´Â °¡Àå ¹è¿ì±â ½±°í, °¡Àå Àç¹ÌÀÖÀ» °Í °°¾Ò±â ¶§¹®ÀÌ¿´´Ù. Python ÀÌ ½ºÅ©¸³Æ® ¾ð¾îÀÎ °ü°è·Î ½î¾²Äڵ尡 º¸ÀÌ´Â Á¡ ¶§¹®¿¡ ±â¾÷ȯ°æ¿¡ Àû¿ëÇϱⰡ Á¶±Ý ¾Ö¸ÅÇÒ°Í °°±âµµ ÇßÀ¸³ª, C³ª C++·Î Áß¿äÄڵ带 °¨Ãß´Â °ÍÀ¸·Î ¾î´ÀÁ¤µµ ÇØ°áÀÌ °¡´ÉÇÒ°ÍÀ̶ó°í »ý°¢Çß´Ù. ´ÙÇàÈ÷ pythonÀº ´Ù¸¥ ¾ð¾îµé°ú ½±°Ô °áÇÕÇÒ¼ö Àִ Ư¡À» Áö´Ï°í ÀÖ´Ù. ±×¸®°í ¾îÂ÷ÇÇ Àü¹®ÀûÀÎ GUI ÇùÖÀ» ¸ñÀûÀ¸·Î Çϴ°ÍÀÌ ¾Æ´Ï¿´À½À¸·Î ½î¾²Äڵ尡 º¸ÀÌ´Â Á¡ÀÌ Å©°Ô ¹®Á¦ÀϰŶó°í´Â »ý°¢Áö ¾Ê¾Ò´Ù. °Ô´Ù°¡ ±â¹Ý¾ð¾îÀÎ Python Àº ²Ï ¿À·¡ ´Ù·ç¾î ¿Ô¾ú°í, ²Ï Àç¹ÌÀÖ°í ÈǸ¢ÇÑ ¾ð¾î¶ó°í »ý°¢ÇØ¿À°í ÀÖ¾ú´Ù. ±×¸®°í 3°³ÀÇ µµ±¸Áß °¡Àå Å©·Î½º Ç÷§Æû ȯ°æÀ» ¿Ïº®ÇÏ°Ô Áö¿øÇϰí ÀÖ¾ú´Ù. wxPython ÀÌ ºñ·Ï "±â¾÷ȯ°æÀû¿ë" Ãø¸é¿¡¼ °¡Àå ³·Àº Á¡¼ö¸¦ ¹Þ±â´Â ÇßÁö¸¸, ³ª¸ÓÁö ºÐ¾ß¿¡¼ ÃÖ°íÀÇ Á¡¼ö¸¦ ¹ÞÀ½À¸·Î "GUI ÀÀ¿ë" Á¦ÀÛÀ» À§ÇÑ µµ±¸·Î ³«Á¡µÇ°Ô µÇ¾ú´Ù. 2절. wxPython ÇÁ·Î±×·¡¹ÖÀ̹øÀå¿¡¼´Â wxPython¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸í°ú ÇÔ²², tutorial ¹æ½ÄÀ¸·Î wxPthon ÇÁ·Î±×·¡¹ÖÀÌ ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇÒ°ÍÀÌ´Ù. ¿©±â¿¡ ÀÖ´Â ¹®¼ÀÇ ¸¹Àº ³»¿ëÀº wxpython.org¿Í wiki.wxpython.orgÀÇ ³»¿ëÀ» Âü°íÇϰí ÀÖ´Ù. ÀÌ ±ÛÀº Python ¿¡ ´ëÇÑ ±âº»ÀûÀÎ ÀÌÇØ¸¦ Çϰí ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ ¸¸µé¾îÁ³´Ù. PythonÀ» Á¢Çغ¸Áö ¾Ê¾Ò´Ù¸é, ¿ì¼± ÆÄÀÌ½ã Æ©Å丮¾ó¸¦ Àо°í ¹Ù¶õ´Ù. C¿Í C++ ȤÀº ´Ù¸¥¾ð¾î¿¡ ¾î´ÀÁ¤µµ Àͼ÷ÇÏ´Ù¸é, 2-3 ÀÏÁ¤µµ¿¡ ÆÄÀ̾´ Äڵ带 ÃæºÐÈ÷ ÀÌÇØÇÒ¼ö ÀÖ°Ô µÉ°ÍÀÌ´Ù. ¾ÕÀ¸·Î ´Ù·ç°Ô µÉ ³»¿ëÀº Linux os ÀÇ Red Hat °è¿À» ±âÁØÀ¸·Î ¼³¸íµÇ¾î Áø´Ù. ÄÚµåµé ¿ª½Ã À§ ȯ°æ¿¡¼ Å×½ºÆ®µÇ¾ú´Ù. Windows ȯ°æ¿¡¼ÀÇ ¼³¸íÀº ½Ã°£ÀÌ µÇ´Â´ë·Î Å×½ºÆ®¸¦ ÇØº»´ÙÀ½¿¡ º¸° ¼³¸íÇϵµ·Ï ÇϰڴÙ. 2.1절. wxPython ¿¡ ´ëÇÏ¿©wxPython Àº Python ÇÁ·Î±×·¡¹Ö¾ð¾î¿¡ ±â¹ÝÇÑ GUI toolkit(ÀúÀÛµµ±¸)·Î, ±¸Á¶ÀûÀÌ°í ¹è¿ì±â ½¬¿î Python ¾ð¾î¸¦ ÀÌ¿ëÇØ¼ graphical user interface ¸¦ °£´ÜÇÏ°í ºü¸¥½Ã°£¿¡ Á¦ÀÛ°¡´ÉÇϵµ·Ï µµ¿ÍÁØ´Ù. wxPython Àº Å©·Î½º Ç÷§Æû GUI ¶óÀ̺귯¸®ÀÎ wxWindows ¸¦ Python ¿¡¼ Áö¿ø°¡´ÉÇϵµ·Ï c++ À» ÀÌ¿ëÇØ¼ Á¦ÀÛÇѰÍÀÌ´Ù. wxPython ´Â Å©·Î½º Ç÷§Æû ŸŶÀÌ´Ù. Áï ÇϳªÀÇ Ç÷§Æû¿¡¼ ÀÛµ¿°¡´ÉÇϵµ·Ï ¸¸µç ½î¾²´Â (´ëºÎºÐÀǰæ¿ì) ¼öÁ¤¾øÀÌ ´Ù¸¥ Ç÷§Æû¿¡ À̽ÄÀÌ °¡´ÉÇÏ´Ù. ÇöÀç wxPythonÀº À©µµ¿ì¿Í ´ëºÎºÐÀÇ Unix¹× Unix ȣȯ ½Ã½ºÅÛ¿¡¼ ÀÛµ¿ÇÑ´Ù. ¸ÅŲÅä½Ã ¹öÁ¯Àº ÇöÀç pre-alpha ·Î, Á¶¸¸°£ Áö¿ø°¡´ÉÇÒ°ÍÀ¸·Î »ý°¢µÈ´Ù. Python °ú ¸¶Âù°¡Áö·Î wxWindows¿ª½Ã Open Source ¸ðµ¨ÀÌ´Ù. ±×·¯¹Ç·Î ½î¾²¸¦ ÀÌ¿ëÇØ¼ ¹«¾ùÀ» ¸¸µéµçÁö ¾Æ¹«·± Á¦ÇÑÀÌ ¾øÀ¸¸ç, wxWindows ½î¾² ÀÚü¸¦ ¼öÁ¤ ÇÏ´õ¶óµµ ÀüÇô ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù. ¶ÇÇÑ À̵éÀ» ±â¹ÝÀ¸·Î ¸¸µé¾îÁø wxPython ¿ª½Ã °ø°³ÀÌ´Ù. wxWindows ´Â ÇöÀç 2.0 ¾ÈÁ¤¹öÁ¯ÀÌ °ø°³µÇ¾î ÀÖÀ¸¸ç Windows 3.1/95/98/NT¿Í Unix GTK/Motif/Lesstif, ¸ÅŲÅä½Ã ¹öÁ¯À» Áö¿øÇÑ´Ù. python °ú wxWindows, wxPython ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¾Æ·¡ÀÇ »çÀÌÆ®µéÀ» Âü°íÇϱ⠹ٶõ´Ù. 2.2절. wxPython À» À§ÇØ ÇÊ¿äÇѰ͵é¿äÁòÀÇ ¹èÆ÷º»Àº ±âº»ÀûÀ¸·Î wxPython ÇÁ·Î±×·¡¹Ö °¡´ÉÇÑ È¯°æÀ¸·Î Á¦°øµÇ¹Ç·Î Linux ¼³Ä¡¿Í µ¿½Ã¿¡ ÇÁ·Î±×·¡¹ÖÀÌ °¡´ÉÇÒ°ÍÀÌ´Ù. ±×·¸Áö¸¸ ¸¸¾àÀÇ °æ¿ì¶õ°ÍÀÌ ÀÖÀ¸¹Ç·Î °£´ÜÇÏ°Ô ¾î¶°ÇÑ ÆÐŰÁöµéÀÌ ÇÊ¿äÇÑÁö Á¤µµ´Â ¾ð±ÞÇÏ°í ³Ñ¾î°¡µµ·Ï ÇϰٴÙ.
2.3절. Hello World¿ª½Ã ¹¹µçÁö óÀ½½ÃÀÛÇÒ¶§, "Hello World" ¸¸Å ÁÁÀº°Ô ¾ø´Â°Í °°´Ù. ¿ì¼± wxPythonÀÌ Á¦´ë·Î ÀÛµ¿ÇÏ´ÂÁö ¾Ë¾Æº¸±â À§Çؼ, °¡Àå °£´ÜÇÑ ¾îÇø®ÄÉÀ̼ÇÀ» Çϳª ¸¸µé¾î º¸µµ·Ï ÇϰڴÙ.
°¡Àå¸ÕÀú wxPython À» import ½ÃÄѼ wxPython ¿¡¼ Á¦°øÇÏ´Â °¢Á¾ Ŭ·¡½º¿Í ÇÔ¼öµéÀ» »ç¿ë°¡´ÉÇϵµ·Ï ¸¸µç´Ù. ¸ðµç wxPython ¾îÇø®ÄÉÀ̼ÇÀº wxApp Ŭ·¡½º¿¡¼ Á¦°øÇÏ´Â OnInit ¸Þ¼µå¸¦ ÅëÇØ¼ ¸¸µé¾îÁø´Ù. OnInit Àº Windows ¸¦ ¸¸µé°í, ÇÁ·Î±×·¥ÀÌ Ã³À½¿¡ ½ÃÀÛÇÏ¸é¼ ÇÊ¿ä·ÎÇÏ´Â °¢Á¾ ÃʱâÈ ÀÛ¾÷À» ½ÇÇàÇÏ°Ô µÈ´Ù. ±×¸®°í wxFrame ¸¦ ÀÌ¿ëÇÏ¿© window (parent window ȤÀº main frame)¸¦ ¸¸µé¸éµÈ´Ù. óÀ½¿¡ À©µµ¸¦ ¸¸µé¶§ º¸ÅëÀº »ý¼ºÀÚ(constructor)¸¦ ÀÌ¿ëÇÏ¿© À©µµÀÇ À§Ä¡¿Í Å©±â¸¦ ÁöÁ¤ÇØÁÖÁö¸¸, ¿©±â¿¡¼´Â ÇÁ·Î±×·¥À» ÃÖ¼ÒÇÑ °£¼ÒÈ ½Ã۱â À§Çؼ, À̸¦ »ý·«Çß´Ù. »ý·«ÇÒ°æ¿ì¿¡´Â ±âº»°ªÀ¸·Î ¸¸µé¾îÁö°Ô µÈ´Ù. ¸¶Áö¸· 2°³ÀÇ ¶óÀÎÀº ¾Æ¸¶µµ ¸ðµç wxPython ÇÁ·Î±×·¥¿¡ °øÅëÀûÀ¸·Î Æ÷Ç﵃ °ÍÀÌ´Ù. ¸¶Áö¸· 2°³ÀÇ ¶óÀο¡¼ ¿ì¸®°¡ ¸¸µç ¾îÇø®ÄÉÀÌ¼Ç Å¬·¡½ºÀÇ instance ¸¦ »ý¼ºÇϰí MainLoop()¸Þ¼µå¸¦ ÅëÇØ¼ ¸¸µç Ŭ·¡½º¸¦ È£ÃâÇÏ°Ô µÈ´Ù. MainLoop ´Â wxPython ¾îÇø®ÄÉÀ̼ÇÀÇ ÇÙ½É ¿ä¼Ò·Î, À̺¥Æ®¸¦ ÇÁ·Î¼¼½ÌÇÏ°í ¾îÇø®ÄÉÀ̼ǿ¡ Æ÷ÇԵǾî ÀÖ´Â ¿©·¯°¡Áö À©µµ¿ì¿¡ À̺¥Æ®¸¦ Àü´ÞÇÏ´Â µîÀÇ ÀÏÀ» ¼öÇàÇÑ´Ù. ´ÙÇàÀ̵µ ¿ì¸®´Â ÀÌ·¯ÇÑ °úÁ¤ÀÌ ÀϾ´Â ¼¼ºÎÀûÀÎ ³»¿ëÀ» ¸ô¶óµµ µÈ´Ù. wxPython ÀÌ ¾Ë¾Æ¼ ó¸®ÇØ Áֱ⠶§¹®ÀÌ´Ù. ¿ì¸®´Â ´ÜÁö »ç¿ëÇϱ⸸ ÇÏ¸é µÈ´Ù. 2.4절. ½ÇÀü GUI ¾îÇø®ÄÉÀÌ¼Ç Á¦ÀÛ±×·³ ÀÌÁ¦ ½ÇÁ¦ÀûÀÎ GUI ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µé¾î º¸µµ·Ï ÇϰڴÙ. º¸Åë GUI ÇÁ·Î±×·¥Àº ¸î°¡Áö °øÅëÀûÀÎ À¯Àú ÀÎÅÍÆäÀ̽º¸¦ °¡Áö´Âµ¥, ŸÀÌÆ²¹Ù, ¸Þ´º¹Ù, ¸ÞÀÎÀÛ¾÷â, »óŹÙ, ½ºÅ©·Ñ¹ÙµîÀÌ´Ù. ÀÌ·¯ÇÑ °ÍµéÀº ´ëºÎºÐÀÇ GUI ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÖ¾î¼ °ÅÀÇ ÇʼöÀûÀ¸·Î »ç¿ëµÇ´Â °ÍµéÀÌ´Ù. ¾Æ·¡´Â ÀÌ·¯ÇÑ ¿ä¼ÒµéÀ» °¡Áö´Â Ç¥ÁØÀûÀÎ GUI ÇÁ·Î±×·¥ÀÇ ´ÜÀûÀÎ ¸ð½ÀÀ» º¸¿©ÁØ´Ù. ¿©·¯°¡Áö GUI ÀÀ¿ëÇÁ·Î±×·¥Áß¿¡¼ editor °¡ Ç¥ÁØÀûÀÎ GUI¿¡ °¡Àå Ãæ½ÇÇÑ È¸éÀ» º¸¿©ÁÖ¸ç ¶ÇÇÑ ±¸ÇöÇϱⰡ ´ëü·Î ¼ö¿ùÇϱ⠶§¹®¿¡, À̹ø Àå¿¡¼´Â wxPython À» ÀÌ¿ëÇØ¼ editor ¸¦ ±¸ÇöÀ» ÇØº¸µµ·Ï ÇϰڴÙ.2.4.1절. edit component ¸¦ Ãß°¡½ÃŰÀÚÀÀ¿ëÇÁ·Î±×·¥À» ¸¸µå´Â ´ëºÎºÐÀÇ °æ¿ì¿¡ ÀÖ¾î¼, ¾Æ¸¶µµ ´ç½ÅÀº main frame(parent window) ¸¦ ¿ëµµ¿¡ ¸Â°Ô ÃÖÀûÈ ½ÃÄѼ »ç¿ëÇÏ±æ ¿øÇÒ°ÍÀÌ´Ù. ±×·¡¼ wxFrame À» ÁÖ·Î »ç¿ëÇÏ°Ô µÈ´Ù. wxFrame ´Â °¡Àå ±âº»ÀûÀÎ main frame ¸¸À» Á¦°øÇØÁÖ´Â ´ë½Å, »ç¿ëÀÚ°¡ ÇÊ¿ä·Î ÇÏ´Â ¸¹Àº »çÇ×µéÀ» Á÷Á¢ Ãß°¡ ½ÃÄÑ ÃÖÀûÈ ½ÃŰ±â ½±µµ·Ï ¸¸µé¾îÁØ´Ù.
À§ÀÇ ÄÚµå´Â ¸Å¿ì °£´ÜÇÏ´Ù. °¡Àå¸ÕÀú wxFrame À¸·ÎºÎÅÍ »ó¼ÓÀ» ¹ÞÀº MainWindow ¶ó´Â Ŭ·¡½º¸¦ Á¤ÀÇ Çϰí __init__ ¸Þ¼µå¸¦ ¿À¹ö·ÎµùÇÑ´Ù. ÀÌ ¸Þ¼µå ¾È¿¡¼ wxTextCtrl À̶õ °£´ÜÇÑ ÇÔ¼ö¸¦ »ç¿ëÇߴµ¥, ÀÌ ÇÔ¼ö´Â ¹®¼ÆíÁýÀ» À§ÇÑ text âÀ» ¸¸µé¾îÁØ´Ù. À§ÀÇ Äڵ带 ½ÇÇà½ÃÄѼ ¹®¼ÆíÁý ÀÛ¾÷À» ÇØº¸¸é, ´Ü¼øÈ÷ text ÀԷ¿ܿ¡µµ º¹»ç(Ctrl+c), ºÙÀ̱â(Ctrl+v), »èÁ¦(Ctrl+x) ¿Í °°Àº ±âº»ÀûÀÎ ÆíÁý±â´É±îÁö Á¦°øÇϰí ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. 2.4.2절. ¸Þ´º¿Í »óŹÙÀÇ Ãß°¡¸ðµç GUI ¾îÇø®ÄÉÀ̼ÇÀº ¸Þ´º¹Ù¿Í »óŹٸ¦ °¡Áö°í ÀÖ´Ù. À§ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Þ´º¿Í »óŹٸ¦ Áö¿øÇϵµ·Ï ½î¾²Äڵ带 ¼öÁ¤ÇØ º¸ÀÚ.
2.4.3절. À̺¥Æ® ´Ù·ç±âÀ§ÀÇ ÇÁ·Î±×·¥À» ¿ÜÇüÀûÀÎ Ãø¸éÀ¸·Î¸¸ º»´Ù¸é, GUI ¾îÇø®ÄÉÀ̼ÇÀÌ °¡Á®¾ßÇÒ ÃÖ¼ÒÇÑÀÇ ¿ä°ÇÀ» ÃæÁ·½Ã۰í ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. ±×·¯³ª ³»ºÎÀûÀÎ ±â´É±¸ÇöÀº ÀüÇô ÀÌ·ç¾îÁöÁö ¾Ê°í ÀÖ´Ù. GUI ÇÁ·Î±×·¥¿¡¼ ±â´ÉÀÇ ½ÇÇàÀº ¸¶¿ì½º·Î ¹öưÀ» Ŭ¸¯ÇÔÀ¸·Î½á ´ëºÎºÐ ¹ß»ýÇÑ´Ù. ¸Þ´º¿¡¼ "Quit" ¹öưÀ» Ŭ¸¯Çϸé "ÇÁ·Î±×·¥ Á¾·á" ±â´ÉÀÌ ¼öÇàµÇ¾î¾ß Çϸç, "Help" ¹öưÀ» Ŭ¸¯Çϸé "µµ¿ò¸» â"À» ȸ鿡 º¸¿©Áà¾ß ÇÑ´Ù. À§ÀÇ ÇÁ·Î±×·¥¿ª½Ã "About" ¸Þ´º¸¦ ¼±ÅÃÇØ¼ ¸¶¿ì½º¸¦ Ŭ¸¯Çϸé "ÇÁ·Î±×·¥¿¡ ´ëÇѼ³¸í"À» º¸¿©Áà¾ß Çϰí, "Exit" ¸Þ´º¸¦ Ŭ¸¯Çϸé "ÇÁ·Î±×·¥À» Á¾·á" ½ÃÄÑ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ÇϳªÇϳªÀÇ »ç°Ç(¸¶¿ì½º¸¦ ¿òÁ÷ÀÓ, Ŭ¸¯, ´õºíŬ¸¯, µå·¡±×, µå·Ó ...) À» "À̺¥Æ®"¶ó°í ÇÑ´Ù. GUI ÇÁ·Î±×·¥¿¡¼´Â ÀÌ·¯ÇÑ À̺¥Æ®¸¦ ¹Þ¾Æ¼, ¾î¶²Á¾·ùÀÇ À̺¥Æ®ÀÎÁö¸¦ È®ÀÎÇÏ°í °Å±â¿¡ Àû´çÇÑ ÇÔ¼ö¸¦ È£Ãâ½ÃÄѾßÇÑ´Ù. ÀÌ·¯ÇÑ À̺¥Æ® ó¸®ÀÛ¾÷Àº GUI ÇÁ·Î±×·¡¹Ö¿¡ ÀÖ¾î¼ °¡Àå ¾î·Á¿î ºÎºÐÀÌ µÉ°ÍÀÌ´Ù. ¸¶¿ì½º À§Ä¡°¡ ¾îµð¿¡ ÀÖ´ÂÁö È®ÀÎÇØ¾ßÇϰí, Ŭ¸¯À» ÇßÀ»°æ¿ì Ŭ¸¯ À§Ä¡°¡ ¾îµðÀÎÁö, ¼±ÅÃµÈ ¸Þ´º¹üÀ§ ³»¿¡¼ Ŭ¸¯µÇ¾ú´ÂÁö µîµîÀ» ó¸®ÇÒ¼ö ÀÖ¾î¾ß Çϱ⠶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ À̺¥Æ® 󸮸¦ À§Çؼ Motif³ª GTK °°Àº°æ¿ì´Â callback ÇÔ¼ö(ÇÔ¼ö¿¡ ´ëÇÑ Æ÷ÀÎÅÍ)¸¦ È£ÃâÇÏ´Â ¹æ½ÄÀ» »ç¿ëÇϸç, Qt °°Àº°æ¿ì´Â signal/slot ±â¹ýÀ» »ç¿ëÇÑ´Ù. ¾î¶µç ¿ì¸®´Â wxpython ÀÌ ³»ºÎÀûÀ¸·Î ¾î¶»°Ô ÀÌ·¯ÇÑ À̺¥Æ®¸¦ ó¸®ÇÏ´ÂÁö¿¡ ½Å°æ¾µÇÊ¿ä ¾øÀÌ, wxpython ¿¡¼ Á¦°øÇÏ´Â °£´ÜÇÑ ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇØ¼ ¾ÆÁÖ ½±°Ô À̺¥Æ®¸¦ ó¸®ÇÒ¼ö ÀÖ´Ù.
wxPyton ¿¡¼ÀÇ À̺¥Æ®¹ß»ýÇßÀ»¶§, ÇÊ¿äÇÑ ¸Þ¼µå¸¦ ºÎ¸£´Â°Ç EVT_* ¸¦ ÀÌ¿ëÇÑ´Ù.
2.4.4절. ÆÄÀÏ ºÒ·¯¿À±â ¹× ÀúÀåÇϱâÀÌÁ¦ ÆÄÀϺҷ¯¿À±â¿Í ÀúÀåÇϱ⠱â´É¸¸ ±¸ÇöÇϸé editor ¿Ï¼ºÀÌ´Ù. ±â´ÉÀÇ ±¸ÇöÀº °£´ÜÇÏ´Ù "¸Þ´º¹Ù"¿¡ "Open", "Save" ¸Þ´º¸¦ Ãß°¡ÇÑ´ÙÀ½¿¡ Open, Save ¹öưÀ» ´·¶À»°æ¿ìÀÇ À̺¥Æ®¿¡ ´ëÇÑ ¸Þ¼µå¸¸ ¸¸µé¸é µÈ´Ù.
´ÙÀ½Àº "Save" ¹öưÀ» Ŭ¸¯ÇßÀ»¶§ÀÇ "ÆÄÀÏ ¼±Åà ´ëÈ»óÀÚ" ÀÌ´Ù. À§ÀÇ ±×¸²Àº ÄÚµùµÈ ÇÁ·Î±×·¥ÀÇ ½ÇÇàȸéÀÌ´Ù. ¿µ¾î´Â ¹°·ÐÀ̰í ÇѱÛÀԷµµ Àߵǰí, ÆÄÀϺҷ¯¿À±â, ÆÄÀÏÀúÀåµîµµ Á¦´ë·Î ½ÇÇàµÈ´Ù. À§ÀÇ ÇÁ·Î±×·¥Àº ÃÖ¼ÒÇÑÀÇ ±â´ÉÀ» °¡Áö°í ÀÛµ¿À» ÇÏÁö¸¸, ¿ÏÀüÇÑ ÇÁ·Î±×·¥Àº ¾Æ´Ï´Ù. ÆÄÀÏ ÀúÀåÀü¿¡ Áߺ¹µÇ´Â ÆÄÀÏÀÎÁö °Ë»çÇÏ´Â ±â´ÉÀÌ ¾øÀ¸¸ç, "Exit" ¹öưÀ» Ŭ¸¯ÇßÀ»¶§ º¯°æµÈ ³»¿ëÀ» ÀúÀåÇÒ°ÍÀÎÁö °Ë»çÇÏ´Â ±â´Éµµ ºüÁ®ÀÖ´Ù. ±×¹Û¿¡µµ ¸î°¡Áö ¿¡·¯Ã³¸®¸¦ À§ÇÑ ±â´ÉµéÀÌ ºüÁ®ÀÖ´Ù. ÀÌ·¯ÇÑ ±â´ÉµéÀº ¼÷Á¦·Î ³²°ÜµÎ°í ÀÌ ¹®¼´Â ¿©±â¿¡¼ Àϴܶô Áþµµ·Ï ÇϰڴÙ. 3절. °á·ÐÀÌ·¸°Ô ÇØ¼ wxpython ¿¡ ´ëÇÑ °£·«ÇÑ ¼Ò°³¿Í ¾î¶²½ÄÀ¸·Î ÇÁ·Î±×·¡¹ÖÀÌ °¡´ÉÇÑÁö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ´ÙÀ½¹ø ¹®¼¿¡¼´Â À©µµ¿ì¸¦ ¾î¶»°Ô ±¸¼ºÇÏ´ÂÁö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù. |
|
||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|