【问题标题】:how to use GetValue() in wxpython?如何在 wxpython 中使用 GetValue()?
【发布时间】:2014-05-06 02:37:33
【问题描述】:

我想在用户放入变量时将值保存到变量中。 我搜索了很多,发现我必须使用GetValue(),但是如何使用? 任何人都可以帮我处理我的代码吗? self.tc = wx.TextCtrl(p, pos=(1.4*L,90),size=(150,90)) 我不知道class 是什么所以使用没有它的方法。 我已经试过了,但还是看不出来。

self.tc = wx.TextCtrl(p, pos=(1.4*L,90),size=(150,90))
self.yy=(tc.GetValue())

我是一名物理专业的学生,​​有时我需要编写一些代码。 提前致谢。

【问题讨论】:

    标签: python-2.7 wxpython wxwidgets


    【解决方案1】:

    我建议阅读有关 wxPython 的教程,例如 zetcode 上的教程:

    或者通过浏览 wxPython wiki 上的一些初学者示例:

    然后您将知道如何在类中使用 TextCtrl。这是一个简单的示例,您可以从中学习很多概念:

    import wx
    
    ########################################################################
    class MyFrame(wx.Frame):
        """"""
    
        #----------------------------------------------------------------------
        def __init__(self):
            """Constructor"""
            wx.Frame.__init__(self, parent=None, title="Example")
            panel = wx.Panel(self)
    
            sizer = wx.BoxSizer(wx.VERTICAL)
    
            self.text = wx.TextCtrl(panel)
            sizer.Add(self.text, 0, wx.ALL|wx.EXPAND, 5)
    
            button = wx.Button(panel, label="Get Value")
            button.Bind(wx.EVT_BUTTON, self.onButton)
            sizer.Add(button, 0, wx.ALL, 5)
    
            panel.SetSizer(sizer)
            self.Show()
    
        #----------------------------------------------------------------------
        def onButton(self, event):
            """"""
            print self.text.GetValue()
    
    #----------------------------------------------------------------------
    if __name__ == "__main__":
        app = wx.App(False)
        frame = MyFrame()
        app.MainLoop()
    

    这演示了如何将 TextCtrl 和 Button 对象添加到类中。您会注意到这两个小部件是 wx.Panel 的子级,它是 wx.Frame 的唯一子级。我们使用垂直方向的 BoxSizer 来保存两个子小部件并定位它们。我们将按钮绑定到事件处理程序 (onButton),在该处理程序中我们获取文本控件的内容并将其打印到标准输出。

    【讨论】:

    • 谢谢,但实际上这不是我的主题。我只是想要一个命令这样做。我不是程序员,而是物理专业的学生。
    【解决方案2】:

    可能你解决了它(或放弃了),但这是为了记录。

    Python 的问题,而不是 wxPython 的问题。变量 tc 通过使用 self 声明为类的属性,因此您必须一直坚持到类的末尾。

    所以你需要将self.yy=(tc.GetValue()) 更改为self.yy = self.tc.GetValue()(还有一点打字润色)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 2014-12-02
      • 2021-02-11
      • 2019-09-11
      • 2012-07-29
      相关资源
      最近更新 更多