Я не знаю Ruby, так что терпите меня, но я широко использую Qt в Python.
Во-первых, Qt действительно, действительно не хочет, чтобы его использовали так, как вы пытаетесьиспользовать это.Если вы делаете какой-то скрипт, то Qt хочет, чтобы вы передали его Qt, чтобы он мог запускать ваш код, когда он выглядит следующим образом:
Мы рекомендуем вам подключить код очистки кСигнал aboutToQuit (), вместо того, чтобы помещать его в функцию main () вашего приложения, потому что на некоторых платформах вызов QCoreApplication :: exec () может не возвращаться.
Работая с Qt, вы в значительной степени должны сделатьпрограммирование, управляемое событиями, и управление им потоком программы / основным циклом.
Если вам действительно нужна какая-то "утилита", которая отображает поле ввода GUI и печатает любые пользовательские вводы в консоль, подумайте над тем, чтобы поместить puts
непосредственно в любой функции, которую вы подключили к текстовому полю.Затем вы можете использовать вывод этой программы в других консольных скриптах.