診斷
我想你混淆了「實名制」與「象徵性的名字。」我建議檢查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