如何在wxpython中从textctrl接受值

如何在wxpython中从textctrl接受值,python,wxpython,wxwidgets,Python,Wxpython,Wxwidgets,这是一个python pgm。它包含一个文本ctrl和一个按钮。请帮助我修改,以便在按下按钮时,我需要将用户在textctrl中输入的字符串存储到变量中 #! /usr/bin/env python #Boa:Frame:Frame1 import wx def create(parent): return Frame1(parent) [wxID_FRAME1, wxID_FRAME1BUTTON1, wxID_FRAME1PANEL1, wxID_FRAME1TEXT1, ]

这是一个python pgm。它包含一个文本ctrl和一个按钮。请帮助我修改,以便在按下按钮时,我需要将用户在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()

有一个方法附加到一个名为的WXTXTCTRL对象,因此在OnButton1Button()中,可以调用

var = self.text1.GetValue()

然后用
var
做你想做的事。

是不是var=self.text1.GetValue()??重要案例?但是在添加“打印var”之后,字符串不打印。我还没有使用Python版本的WxWiDeWS,只是C++版本,但实际上是GETValueUE(),而不是GETValueE()。我唯一的另一个建议是将变量的名称改为str或myVar1,以确保var在python中不是保留字。@代理K:如果答案解决了您的问题,请接受答案。看见