微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 ID 获取 TextCtrl 值

如何解决使用 ID 获取 TextCtrl 值

这就是我像往常一样在 TextCtrls 中初始化多个 ScrollView 的方式,处于循环中,所以我只能跟踪 ID。

for value in data:
  Voteheadcode = value[0]
  self.text = wx.TextCtrl(self.Votehead_ScrollView,int(Voteheadcode),wx.EmptyString,wx.DefaultPosition,wx.Size(400,-1),0)
  horizontal_Scroll_BoxSizer.Add(self.text,wx.ALL,5)

如何仅使用输入的 ID 获取输入的值?在这种情况下Voteheadcode,通常我们会

self.text.GetValue()

但这在这里行不通,我想仅使用 id 获取 TextValue。

解决方法

您可以将每个 wx.TextCtrl 存储在列表中,然后访问列表的项目以获取值,而不是这样做:

self.text = []
for value in data:
  voteheadcode = value[0]
  self.text.append(wx.TextCtrl(self.votehead_ScrollView,int(voteheadcode),wx.EmptyString,wx.DefaultPosition,wx.Size(400,-1),0))
  horizontal_Scroll_BoxSizer.Add(self.text,wx.ALL,5)

那么你可以这样做:

self.text["the item you want's index"].GetValue()

或者当您创建它们时,您可以像这样绑定它们:

self.Bind(wx.EVT_TEXT_ENTER,self.OnEnterText)

def OnEnterTex(self,event):

    control_id = event.GetId()
    control = wx.FindItemById(control_id,self)
    value = control.GetValue()
    

这样您就可以将值存储在您想要的位置或打印它

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。