【问题标题】:How to accept value from textctrl in wxpython如何在 wxpython 中接受来自 textctrl 的值
【发布时间】:2011-03-13 03:27:40
【问题描述】:

这是一个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()

【问题讨论】:

    标签: python wxpython wxwidgets


    【解决方案1】:

    有一个附加到 wxTextCtrl 对象的方法称为getValue,因此在 OnButton1Button() 中,您调用

    var = self.text1.GetValue()
    

    然后用var 做你想做的事。

    【讨论】:

    • 不是 var = self.text1.GetValue() 吗?案件重大?但是在我添加“print var”之后,字符串不会打印。
    • 我没有使用 Python 版本的 wxWidgets,只是 C++ 版本,但在 further investigation 上它实际上是 GetValue(),而不是 getValue()。我唯一的其他建议是将变量的名称更改为 str 或 myVar1 之类的名称,以确保 var 不是 python 中的保留字。
    • @Agent K:如果答案解决了您的问题,请接受答案。见meta.stackexchange.com/questions/16721/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多