Тестовая среда: macOS 10.12.6
Система сборки: Qt 4.7 (требуется для обратной совместимости)
У меня есть приложение, SdrDx , я собираю с помощью Qt 4.7; Я хочу сказать приложению переместить главное окно в верхнюю левую часть окна. Работает под macOS 10.12.6.
Вот что я попробовал, это работает с Finder (замените SdrDx на «Finder» и окно Finder переместится):
tell application "SdrDx"
activate
set position of window 1 to {10, 10}
end tell
Когда этот скрипт запущен, редактор скриптов Apple возвращает:
error "SdrDx got an error:
Can’t set position of window 1 to {10, 10}."
number -10006 from position of window 1
activate
работает: окно SdrDx активируется. Так что я знаю, что, по крайней мере, в основном говорю с правильным приложением. Там только одно окно; Я прочитал, что главное окно не всегда является "фактическим" окном, поэтому я пробовал номера окон от 1 до 10, но все эти значения приводят к одной и той же ошибке.
Как мне перехватить это сообщение или как-то иначе разрешить моему приложению справиться с ним? Я знаю, как переместить окно из внутри приложения, похоже, мне нужно знать, что такое механизм перехвата Applescript, чтобы я мог вызывать такой код?