Краткий ответ: нет
Если вам нужен полный набор инструментов GUI для C, вы можете использовать GTK +.
Чтобы использовать Qt, вы должны иметь компилятор C ++. Но это не означает, что ваша «логика приложения» не может быть написана на C, скомпилирована с помощью компилятора C и тщательно связана с частью C ++ (GUI с Qt). Эта логика приложения может быть общей, с возможностью связывания с другими исполняемыми файлами (чистый C, смешанный C / C ++ и т. Д.). Все зависит от того, что вам нужно.
Qt отлично подходит для C ++, и это хороший повод принять решение используя C ++ для конкретного проекта, даже если вы все еще хотите сохранить части на C.
No. Qt - это C ++. Но вы можете просто написать код в стиле C везде, который не взаимодействует / не создает элементы графического интерфейса, и скомпилировать все это с помощью выбранного компилятора C ++.
Раньше существовала привязка QtC, но поиск по ней обнаруживает эту ветку :
От Ричарда Дейла:
Я использовал для поддержки привязок C, которые использовались привязками Objective-C и Qt #. Но библиотека Smoke намного лучше, хотя это не привязка к C, и я Отменены привязки QtC, чтобы вместо этого использовать дым.
Smoke здесь . Мне нигде не удалось найти четкую ссылку на привязки QtC, хотя я помню, что слышал о них.
Не думаю. Qt всегда описывается как «библиотека классов», и для ее сборки требуются компиляторы C ++. Вы можете попытаться написать / найти DLL / интерфейс, который будет обтекать QT и предоставлять API для уровня C.
Вы всегда можете использовать компилятор C ++, который просто переводит C ++ в C, затем вызывает искаженные имена, которые он генерирует, и т. Д .: -)
К сожалению, нет, но вы можете сформировать свою программу как набор библиотек, реализующих вашу бизнес-логику, и написать их на C, тогда вы можете использовать немного C ++ для связывания того, что вы написали как библиотеку, с графическим интерфейсом пользователя с использованием QT.
Это хороший подход еще и потому, что позже вы сможете повторно использовать свою библиотеку и реализовать множество других интерфейсов с другими инструментами или языками!