Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Call an AppleScript from Qt/ru
English | Русский | Italiano | Español | Shqip
Запуск AppleScript из Qt
Если вы хотите вызвать команды AppleScript в Qt, вы можете использовать следующий пример кода, как отправную точку.
В переменной aScript находться скрипт, который мы хотим выполнить. Затем создается QProcess для вызова osascript – консольного интерпретатора AppleScript’а.
osascript с аргументом “-l AppleScript”, чтобы явно указать язык и отключить автоматическое определение.
Скрипт передается в osascript через стандартный ввод.
Прогамма ждет каких-нибудь выходных данных из скрипта. Мы организуем чтения вывода из скрипта, следовательно используем waitForReadyRead.
Если байты для чтения доступны, программа читает их и конвертирует в QString (если подходящий тип для ожидаемых данных!). В реальности программа должна использовать подключения различных readyReadXXX() сигналов и связывать их с слотами для сбора данных.
Если вам не нужды выходные данные скрипта, просто вызовите waitForFinished() сразу после closeWriteChannel(). Программа будет ждать пока ваш скрипт закончит выполняться, иначе поток управления пойдет до конца и преждевременно завершит скрипт.