2010-12-05 2 views
0

외부 파일 (텍스트 또는 CSV 파일)로 전송되는 파이썬 GUI에서 2 개의 슬라이더 값을 가져야합니다. 누구에게 도움이 될까요? 건배 Alasdair파이썬 GUI에서 외부 파일로 값 보내기

+0

은? –

+1

그런데 파이썬 GUI 란 무엇입니까? – khachik

+1

간단한 답 : 값을 사용할 수있을 때 파일을 열고 값을 쓰고 닫습니다. 어떤 이유로 작동하지 않습니까? – martineau

답변

2

여기 wx.Python를 사용하여 빠른 예 : 당신은 지금까지 무엇을했는지

import wx 

class MyPanel(wx.Panel): 
    def __init__(self, parent, id = -1): 
     wx.Panel.__init__(self, parent, id) 

     self.slider1 = wx.Slider(self, -1, 50, 0, 100, size=(300,25)) 
     self.slider2 = wx.Slider(self, -1, 50, 0, 100, size=(300,25)) 

     self.button = wx.Button(self, -1, "Write Values") 
     self.Bind(wx.EVT_BUTTON, self.onWrite) 

     # Uncomment the next two lines if you want to write the 
     # data out every time you move the slider 
     #self.Bind(wx.EVT_SLIDER, self.onWrite) 
     #self.onWrite() 

     self.sizer = wx.BoxSizer(wx.VERTICAL) 
     self.sizer.AddStretchSpacer(1) 
     self.sizer.Add(self.slider1, 0, wx.ALIGN_CENTER_HORIZONTAL) 
     self.sizer.AddSpacer(50) 
     self.sizer.Add(self.slider2, 0, wx.ALIGN_CENTER_HORIZONTAL) 
     self.sizer.AddSpacer(75) 
     self.sizer.Add(self.button, 0, wx.ALIGN_CENTER_HORIZONTAL) 
     self.sizer.AddStretchSpacer(1) 
     self.SetSizerAndFit(self.sizer) 

    def onWrite(self, event = None): 
     v1 = self.slider1.GetValue() 
     v2 = self.slider2.GetValue() 
     f = open("file.csv", "w") 
     line = "%d, %d\n" %(v1, v2) 
     f.write(line) 
     f.close() 
     print "Just wrote", line 


if __name__ == "__main__": 
    a = wx.PySimpleApp() 
    f = wx.Frame(None,-1, "Slider Demo") 
    p = MyPanel(f) 
    f.Show() 
    a.MainLoop() 
+0

@K. Brafford 각 슬라이드 이벤트의 파일에 씁니다? – khachik

+0

좋은 지적. 나는 그 질문에 기초하여 확신하지 못했기 때문에 나는 슬라이더 변경에 대한 통보를받는 방법을 보여줄 것이라고 생각했다. 이 예제를 의도적으로 버튼 누르기를 통해 작성하도록 수정했습니다. –

관련 문제