Как я могу сделать GUI-интерфейс для инструмента командной строки в OSX? - PullRequest
8 голосов
/ 07 апреля 2010

Мне не терпится узнать, как сделать графический интерфейс для ffmpeg и jhead в OSX. Некоторое время я искал решение и думал, что вы, пользователи stackoverflow, могли бы помочь мне. Может быть, вы знаете какой-то документ, с которым я не сталкивался, или, лучше, учебник по созданию графического интерфейса.

Мне нравятся эти два инструмента, но мне нравится простота операций перетаскивания.

Примечание: мне не нужен графический интерфейс для них, я хочу его создать.

Ответы [ 7 ]

7 голосов
/ 07 апреля 2010

На веб-сайте Cocoa Dev Central имеется учебное пособие по переносу инструментов командной строки с использованием NSTask:

Сейчас уже несколько лет, но вы должны начать.

2 голосов
/ 07 апреля 2010

Если вы спрашиваете «Как создать приложение с графическим интерфейсом в Mac OS X, которое взаимодействует с инструментом командной строки», ответом будет NSTask . Хотя, если инструмент командной строки предоставляет API-интерфейс программирования, его использование предпочтительнее, чем вызов самого инструмента командной строки.

Если вы спрашиваете «Как создать приложение с графическим интерфейсом в Mac OS X», ответьте на него, прочитав книгу об этом и ознакомившись с учебными документами Apple. Программирование Какао в Mac OS X Аароном Хиллегасом было моей отправной точкой.

1 голос
/ 18 июня 2012

Сначала создайте NIB модального диалога с необходимым графическим интерфейсом.
При вызове в C создайте NSReleasePool, а затем волшебный соус.

[NSApplication sharedApplication]     
ProcessSerialNumber psn;
GetCurrentProcess( &psn );
TransformProcessType(&psn,kProcessTransformToForegroundApplication);
SetFrontProcess( &psn );

Позже, после загрузки NIB из пакета, введите

[NSApp runModalForWindow:[controller window]];
[[controller window] close];

Без TransfromProcessType () приложение Terminal получит нажатия клавиш, а не модальное диалоговое окно.

0 голосов
/ 07 апреля 2010

Вы можете использовать язык сценариев, такой как Tcl, Python или Ruby, с набором инструментов, таким как Tk, который использует собственные виджеты для Mac.

0 голосов
/ 07 апреля 2010

Вы опоздали, уже есть интерфейс GUI для ffmpeg с именем ffmpegX , но в любом случае вы бы создали модель, которая оборачивает или использует библиотеку или исполняемый файл .... если она использует исполняемый файл, вы можете использовать popen для вызова исполняемого файла, записи в его STDIN и чтения из его STDOUT. Представление и контроллер будут в основном такими же, как вы разработали бы для любого другого приложения с графическим интерфейсом. Поскольку это пост Какао, вы можете использовать Objective-C и Какао для создания GUI, но его действительно можно реализовать на любом языке.

0 голосов
/ 07 апреля 2010

Возможно, это не лучший ответ, но в книге "Xcode unleashed" есть глава о том, как встроить инструмент командной строки в приложение Cocoa. Может быть, вы должны посмотреть. Хорошая книга в любом случае.

0 голосов
/ 07 апреля 2010

На диске Leopard / Snow Leopard вы можете найти XCode, но вы также можете скачать его из сообщества разработчиков Apple. XCode поставляется с Интерфейсным Разработчиком, который позволяет вам создавать GUI, и вы можете настраивать свои команды, используя инфраструктуру Cocoa.

...