诊断
我想你混淆了“实名制”与“象征性的名字。”我建议检查Squish的官方documentation about the objects map,但我的理解是,Squish符号名称(以冒号开头的名称)基本上等同于变量名称。它们是用于在objects.map中查找标识符的键。
objects.map包含符号名称和Squish所称的“真实姓名”。真实姓名是可以用来查找Qt对象的匹配模式。例如,你可能在你的objects.map文件行看起来像:
:GAMES.Hello_Text {name='Hello_Text' type='QLineEdit' visible='1' window=':GAMES'}
:GAMES.testLabel_Text {name='testLabel_Text' type='QLineEdit' visible='1' window=':GAMES'}
正如你所看到的,这是说既有“:GAMES.Hello_Text”和“:GAMES.testLabel_Text”是内田QLineEdit的“GAMES”窗口(它本身是一个符号名称,在objects.map的其他地方有一个真实的规范)。
潜在的解决方案
要得到充分的帮助下,我建议你从你的objects.map发布的相关条目。相关条目将是那些你感兴趣的对象,可能是他们的直系父母。
如果您正在寻找由“:GAMES”符号名称指定的对象中的任意程序确定的元素,下面是三种方法,但我不确定您需要的是什么。
查找父对象,并检查其属性
games = waitForObject(":GAMES")
mytext = games.testLabel_Text
2.查找父对象的属性
mytext = waitForObjectAttribute(":GAMES", "testLabel_Text")
注意,在这种情况下, ,“testLabel_Text”是涉及对象指定的属性的任意文本字符串由“:GAMES”象征性名字命名。你可以把waitForObjectAttribute()
想象成类似于Python内置的getattr()
。
使用真实姓名
mytext = waitForObject("{name='testLabel_Text' type='QLineEdit' visible='1' window=':GAMES'}")
来源
2013-04-09 18:53:25
dbn
谢谢查找所需信息,最后我们能够证明,我们收到了前进。感谢你的帮助。 – 2013-10-26 18:19:47