首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ID上的wxPython .SetFocus()

ID上的wxPython .SetFocus()
EN

Stack Overflow用户
提问于 2011-01-20 05:30:40
回答 1查看 10.7K关注 0票数 1

我只是想知道是否有一种方法可以根据ID而不是名称来设置wx.TextCtrl()的焦点。

通常你会做像这样的事情。

代码语言:javascript
复制
text = wx.TextCtrl(self, 100, '')
text.SetFocus()

然后将焦点设置在文本上。然而,我会有一个不确定的wx.TextCtrls数量,我会有一个循环来制作它们,它们都有不同的ID。我想知道他们是不是这样做的方式?

代码语言:javascript
复制
'id#'.SetFocus() #Set focus to TextCtrl with id = id#

我看到了一种用字典来做这件事的方法,但我想还有一种更好的方法。

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-20 05:37:08

我从不使用wx ID,因为有更好的方法。我推荐这样做:

代码语言:javascript
复制
self.controls = []
for i in range(100):
    control = wx.TextCtrl(self, -1, '')
    self.controls.append(control)
    sizer.Add(control)

...

self.controls[12].SetFocus()

或者,当字典比列表更有意义时,您可以使用字典,这取决于您需要如何查找它们。

如果你很难使用ID,你可以尝试这样做:

代码语言:javascript
复制
self.FindWindowById(id, self).SetFocus()
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4740994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档