【发布时间】:2016-01-15 16:11:57
【问题描述】:
我正在构建一个具有 20x20 标签网格的应用程序,我将其设置为 id id: x1y1, id: x1y2, ... , id: x20y20 等。我希望能够通过传递字符串来引用 id,并使用某些东西修改其中的文本喜欢;
self.ids.name("x1y1").text = "Anything"
我看过dir(self.ids)、dir(self.ids.items()) 等,但似乎无法弄清楚。有没有可能?
我可以创建if statements 的列表;
if str(passedString) == "x1y1":
self.id.x1y1.text == "Anything"
if str(passedString) == "x1y2":
self.id.x1y2.text == "Anything"
虽然我觉得这是非常糟糕的做法,但考虑到我需要 400 if statements! - 当然我可以写一个小助手脚本来为我写出所有这些代码,但同样,它并不理想。
编辑: 我看过了;
for key, val in self.ids.items():
print("key={0}, val={1}".format(key, val))
打印出来的;
key=x1y2, val=<kivy.uix.label.Label object at 0x7f565a34e6d0>
key=x1y3, val=<kivy.uix.label.Label object at 0x7f565a2c1e88>
可能会让你/某人知道去哪里和/或做什么。
【问题讨论】:
标签: python string reference kivy