如何使用压扁找到qml元素的id属性?

2024-05-21 07:30:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我被分配了自动化质量管理程序的任务。 我对python和Squish都很陌生。 我试图找到一种方法来获取文本元素的id属性 例如:

Text{
id:testLabel
text:"Hello"
}

所以在压榨中捕获我得到的目标(通过间谍)

^{pr2}$

但我想把它捕捉为

waitForObject(":GAMES.testLabel_Text")

这有可能实现吗?如果不是的话,我还有什么别的办法可以做。在

注意:我需要比较不同语言的文本


Tags: 方法text文本id元素hello目标属性
1条回答
网友
1楼 · 发布于 2024-05-21 07:30:20

诊断

我认为你把“实名”和“符号名”混淆了。我建议你去看看Squish的官方documentation about the objects map,但我的理解是,压扁符号名(以冒号开头的名称)本质上等同于变量名。它们是用来在对象.map. 在

在对象.map包括符号名和Squish所指的“实名”。实名是一个匹配模式,可用于查找Qt对象。例如,在对象.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.testLabel_文本“:GAMES”窗口中的QLineEdit字段(它本身是一个符号名,在对象.map). 在

潜在解决方案

为了得到充分的帮助,我建议您将对象.map. 相关条目将是您感兴趣的对象的条目,可能还有它们的直接父项。在

我不确定您到底需要什么,这里有三种方法,如果您在“:GAMES”符号名指定的对象中寻找任意的和以编程方式确定的元素。在

1。查找父对象并检查其属性

^{pr2}$

2.查找父对象的属性

mytext = waitForObjectAttribute(":GAMES", "testLabel_Text") 

请注意,在本例中,“testLabel_Text”是一个任意文本字符串,它引用由“:GAMES”符号名指定的对象的属性。您可以将waitForObjectAttribute()看作是Python内置的getattr()的类似物。在

3.使用实名查找所需信息

mytext = waitForObject("{name='testLabel_Text' type='QLineEdit' visible='1' window=':GAMES'}")

相关问题 更多 >