3
这是一个python pgm。它包含一个文本ctrl和一个按钮。请帮助我进行修改,以便在按下按钮时,我需要将在textctrl中输入的字符串用户存储到变量中。如何接受来自wxpython的textctrl的值
#! /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()
is'nt it var = self.text1.GetValue()??案件重大?但做完这个后,当我添加“打印变种”字符串不打印。 – 2011-03-13 04:37:09
我还没有使用Python版本的wxWidgets,只是C++版本,但是[进一步调查](http://www.wxpython.org/docs/api/wx.TextCtrl-class.html#GetValue)它事实上是GetValue(),而不是getValue()。我唯一的建议是将变量的名称改为str或myVar1,以确保var不是python中的保留字。 – 2011-03-13 04:46:30
thaanx ..它现在工作.. – 2011-03-13 05:08:50