wxpython,根据名称查找控件

发布于 2024-11-07 22:33:02 字数 175 浏览 4 评论 0原文

我想知道是否有可能(我确信是)根据控件的名称获取对控件的引用。

control = findcontrol("btnProduct"+buttonNumber)

你可能明白我的意思...(是的,我是 wxPython 的新手)

问候,

丹尼斯

I was wondering if it is possible (I'm sure it is) to get a reference to a control based on the name of the control.

Something like control = findcontrol("btnProduct"+buttonNumber)

You probably catch my drift... (and yes, I am a newby in wxPython)

Regards,

Dennis

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

带刺的爱情 2024-11-14 22:33:02

您可以使用框架实例的 FindWindowByName() 方法,假设您将唯一的名称参数传递给小部件,或者您可以使用框架实例的 FindWindowByLabel() 方法。你也可以通过id查找,但我并不建议这样做,因为最好不要自己管理id。

You can use the frame instance's FindWindowByName() method, assuming you passed a unique name parameter to the widget or you might be able to use the frame instance's FindWindowByLabel() method. You can also find by id, but I don't really recommend that since it's better not to manage the ids yourself.

山有枢 2024-11-14 22:33:02

最后我得出这样的结论:

        control = getattr(self, "btnProduct%s" % (str(buttonNo)))
        control.SetLabel("")

感谢马克引导我走向正确的方向!

In the end I ended up with this:

        control = getattr(self, "btnProduct%s" % (str(buttonNo)))
        control.SetLabel("")

Thanks Mark for steering me in the right direction!

幽梦紫曦~ 2024-11-14 22:33:02

阅读 python locals() 和 globals() 函数。

例如,您可以:

control = locals()['btnProduct' + buttonNumber]

当然,他们可能是做您想做的事情的更好方法。也许把你的控件放入字典中?

Read up on the python locals() and globals() functions.

For instance you could:

control = locals()['btnProduct' + buttonNumber]

Of course their is probably a much better way to do what you want. Put your controls into a dictionary maybe?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文