Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wxpython 如何从wx python CtrlText检索文本?_Wxpython_Textctrl - Fatal编程技术网

Wxpython 如何从wx python CtrlText检索文本?

Wxpython 如何从wx python CtrlText检索文本?,wxpython,textctrl,Wxpython,Textctrl,我试图从Python中的TextCtrl对象中检索文本值,但似乎无法获取它。 在下面的代码中,文本名为“text”,我试图在“Click”函数中检索该值。 我很清楚如何显示文本框和按钮以及如何检索事件,但当我运行此代码时,我遇到了一个错误,即“myForm”没有属性“text”,如何将“text”设置为myForm的属性?如何从文本对象获取值 from datetime import datetime, time from pygame import mixer # Load the requi

我试图从Python中的TextCtrl对象中检索文本值,但似乎无法获取它。 在下面的代码中,文本名为“text”,我试图在“Click”函数中检索该值。 我很清楚如何显示文本框和按钮以及如何检索事件,但当我运行此代码时,我遇到了一个错误,即“myForm”没有属性“text”,如何将“text”设置为myForm的属性?如何从文本对象获取值

from datetime import datetime, time
from pygame import mixer # Load the required library
import wx


class myForm(wx.Frame):


    def __init__(self, parent, title):
        super(myForm, self).__init__(parent,title=title, size=(300, 100))

        hbox = wx.BoxSizer(wx.HORIZONTAL)
        fgs = wx.FlexGridSizer(3, 2, 9, 25)
        panel = wx.Panel(self)
        title = wx.StaticText(panel, label="Time in second")

        button1 = wx.Button(panel, label="Start")
        text=wx.TextCtrl(panel)

        self.Bind(wx.EVT_BUTTON, self.Click)
        fgs.AddMany([(title), (text, 1, wx.EXPAND),(button1,1,wx.EXPAND)])

        fgs.AddGrowableRow(2, 1)
        fgs.AddGrowableCol(1, 1)

        hbox.Add(fgs, proportion=1, flag=wx.ALL|wx.EXPAND, border=15)
        panel.SetSizer(hbox)

        self.Centre()
        self.Show()  


    def Click(self, event):
        print 'event reached frame class'
        #print tc1.GetValue()
        print "value",self.text.GetValue()
        event.Skip()

您需要将文本控件设置为框架类的属性。因此,不要像这样创建它:

text = wx.TextCtrl(panel)
您需要这样做:

self.text = wx.TextCtrl(panel)
请注意,
text
self.text
不同


现在您的事件处理程序可以工作了

您需要将文本控件设置为框架类的属性。因此,不要像这样创建它:

text = wx.TextCtrl(panel)
您需要这样做:

self.text = wx.TextCtrl(panel)
请注意,
text
self.text
不同

现在您的事件处理程序可以工作了