Qt разделен на несколько модулей (QtGui является одним из них). Вы можете вручную выбрать, какие модули используются вашим приложением, связывая только те библиотеки, которые вам нужны.
Я не могу ответить, будет ли Qt взаимодействовать с MFC. Но, по крайней мере, QString предлагает преобразование в std :: string и char * / wchar, что должно вам помочь.
Документация Qt предоставляет обзор по модулям.
Как указал Даниэль ниже, вы должны знать о цикле событий. Однако можно использовать цикл обработки событий без модуля GUI. Вы можете вызвать processEvents в QCoreApplication, чтобы обработать все события в очереди и затем вернуться. Существует одно предупреждение с отложенным удалением, но в документации описан обходной путь.