2011-03-13 5 views
3

다음은 python pgm입니다. 그것은 텍스트 ctrl과 버튼을 포함합니다. 버튼을 누르면 textctrl에 입력 된 문자열 사용자가 변수에 저장되도록 수정하도록 도와주세요.(), 당신은wxpython에서 textctrl의 가치를 받아들이는 법

var = self.text1.GetValue() 

를 호출 한 다음 나중에 var으로 원하는 것을 할 OnButton1Button에 있도록

#! /usr/bin/env python 
#Boa:Frame:Frame1 

import wx 

def create(parent): 
    return Frame1(parent) 

[wxID_FRAME1, wxID_FRAME1BUTTON1, wxID_FRAME1PANEL1, wxID_FRAME1TEXT1, 
] = [wx.NewId() for _init_ctrls in range(4)] 

class Frame1(wx.Frame): 
    def _init_ctrls(self, prnt): 
     # generated method, don't edit 
     wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt, 
       pos=wx.Point(249, 224), size=wx.Size(683, 445), 
       style=wx.DEFAULT_FRAME_STYLE, title='Frame1') 
     self.SetClientSize(wx.Size(683, 445)) 

     self.panel1 = wx.Panel(id=wxID_FRAME1PANEL1, name='panel1', parent=self, 
       pos=wx.Point(0, 0), size=wx.Size(683, 445), 
       style=wx.TAB_TRAVERSAL) 

     self.text1 = wx.TextCtrl(id=wxID_FRAME1TEXT1, name=u'text1', 
       parent=self.panel1, pos=wx.Point(268, 139), size=wx.Size(103, 25), 
       style=0, value=u'enter') 

     self.button1 = wx.Button(id=wxID_FRAME1BUTTON1, label=u'click', 
       name='button1', parent=self.panel1, pos=wx.Point(279, 272), 
       size=wx.Size(85, 27), style=0) 
     self.button1.Bind(wx.EVT_BUTTON, self.OnButton1Button, 
       id=wxID_FRAME1BUTTON1) 

    def __init__(self, parent): 
     self._init_ctrls(parent) 

    def OnButton1Button(self, event): 
     event.Skip() 


if __name__ == '__main__': 
    app = wx.PySimpleApp() 
    frame = create(None) 
    frame.Show() 

    app.MainLoop() 

답변

4

getValue라는 wxTextCtrl 객체에 부착하는 방법이있다.

+0

is'nt var = self.text1.GetValue() ?? 대소 문자가 중요합니까? 하지만이 작업을 수행 한 후에 "print var"을 추가하면 문자열이 인쇄되지 않습니다. –

+0

필자는 Python 버전의 wxWidgets, C++ 버전을 사용하지는 않았지만 [추가 조사] (http://www.wxpython.org/docs/api/wx.TextCtrl-class.html#GetValue)에서 사실 GetValue()가 아니라 getValue()입니다. 필자의 다른 제안은 변수의 이름을 str 또는 myVar1과 같이 변경하여 var이 파이썬에서 예약어가 아닌지 확인하는 것입니다. –

+0

thaanx .. 이제 작동 중입니다 .. –

관련 문제