診断
「実名」と「記号名」を混同していると思います。オブジェクト map に関するSquishの公式ドキュメントを確認することをお勧めしますが、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" の両方が ":GAMES" ウィンドウ内の QLineEdit フィールドであることを示しています (それ自体は、objects.map の別の場所にある実際の仕様を持つシンボリック名です)。
考えられる解決策
完全なヘルプを得るには、objects.map から関連するエントリを投稿することをお勧めします。関連するエントリは、関心のあるオブジェクトのエントリであり、おそらくそれらの直接の親です。
「:GAMES」シンボリック名で指定されたオブジェクト内の任意のプログラムによって決定された要素を探している場合、何が必要なのか正確にはわからないという警告があります。
1. 親オブジェクトを検索し、その属性を調べる
games = waitForObject(":GAMES")
mytext = games.testLabel_Text
2. 親オブジェクトの属性を調べる
mytext = waitForObjectAttribute(":GAMES", "testLabel_Text")
この場合、「testLabel_Text」は、「:GAMES」シンボリック名で指定されたオブジェクトの属性を参照する任意のテキスト文字列であることに注意してください。waitForObjectAttribute()
Python のビルトイン に似ていると考えることができますgetattr()
。
3. 実名で知りたい情報を調べる
mytext = waitForObject("{name='testLabel_Text' type='QLineEdit' visible='1' window=':GAMES'}")