Как принять значение из textctrl в wxpython - PullRequest
3 голосов
/ 13 марта 2011

Вот питон ПГМ.Он содержит текст 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()

1 Ответ

4 голосов
/ 13 марта 2011

Есть метод, прикрепленный к объекту wxTextCtrl, который называется getValue , поэтому в OnButton1Button () вы вызываете

var = self.text1.GetValue()

, а затем делаете то, что хотите, с помощью var впоследствии.

...