Не думаю, что это будет работать слишком хорошо, смешивая циклы событий ...
[РЕДАКТИРОВАТЬ: Первоначально я думал, что это, потому что диалоговое окно является моделью, а окно позади него нет, и может быть два цикла событий, борющихся за контроль. (Поскольку каждое окно имеет свое собственное, именно поэтому у вас могут быть окна Carbon и Cocoa (в основном это приложения другого типа).
С другой стороны, переднее окно - ваше диалоговое окно - контролирует весь цикл событий, если это модель, поэтому она может работать на самом деле.]
Я бы действительно предложил вам прочитать Руководство по интеграции углерода / какао . Теперь это сложнее, потому что вы на Python, а не на C, но это может объяснить некоторые концепции.
Я думаю, что в предыдущем проекте мы реализовали наш собственный диалог, подобный этому, включая настраиваемые тексты. (Так как мы использовали wxWidgets / C ++, мы просто реализовали это с помощью Carbon APIs со слоем wxWidgets, и мы выглядели довольно хорошо. (... и у нас была довольно сильно измененная версия wx ...))