본문 바로가기

Test Code/Linux

[ubuntu] wxPython 설치 및 예제

거의 대부분 리눅스 설치시에 python은 자동으로 설치가 됩니다.

wxPython가 설치가 안되어 있다면 아래와 같이 하시면 됩니다.


sudo apt-get install python-wxgtk2.8



**. 예제는 아래 사이트 참조하세요.

http://wiki.wxpython.org/Getting%20Started





#!/usr/bin/env python
#-*- coding: utf-8 -*-

import wx

class CFrame(wx.Frame):
    def __init__(self, *args, **kw):
        super(CFrame, self).__init__(*args, **kw)
       
        self.InitUI()
       
    def InitUI(self):
        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
       
        panel = wx.Panel(self, -1)
        box = wx.BoxSizer(wx.VERTICAL)
        txt = wx.TextCtrl(panel, -1, '',  style=wx.TE_LEFT | wx.TE_MULTILINE)
        box.Add(txt, 1, wx.EXPAND, 5)

        btOk = wx.Button(panel, label='확인')
        btCancel = wx.Button(panel, label='취소')
        boxbutton = wx.BoxSizer(wx.HORIZONTAL)
        panel.Bind(wx.EVT_BUTTON, self.OnOkClicked, btOk)
        panel.Bind(wx.EVT_BUTTON, self.OnCancelClicked, btCancel)
               
        boxbutton.Add(btOk, 0, wx.ALL)
        boxbutton.Add(btCancel, 0, wx.ALL)
        box.Add(boxbutton, 0, wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT)


        panel.SetSizer(box)

        self.Centre()
        self.Show(True)
       
    def OnCloseWindow(self, e):
        dial = wx.MessageDialog(None, "종료하시겠습니까?","질문", wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)

        ret = dial.ShowModal()
        if ret == wx.ID_YES:
            self.Destroy()
        else:
            e.Veto()
           
    def OnOkClicked(self, e):
        print 'OK 버튼을 클릭하였습니다.'

    def OnCancelClicked(self, e):
        self.Close(True)
       
       
def main():
    ex = wx.App()
    CFrame(None)
    ex.MainLoop()
   
if __name__ == '__main__':
    main() 


> python wxTest.py