Если вы ищете библиотеку C++, то Qt в основном делает то, что вы ищете. Если вы хотите придерживаться чистого C, то Qt не является опцией.
В качестве C-каркаса вы можете использовать GTK+, он работает на Linux, Windows и OS X.
.Qt является библиотекой C++. Другие кроссплатформенные библиотеки, которые вы можете рассмотреть, это wxWidgets (C++), и GTK (C).
Все три из представленных библиотек полностью кроссплатформенные. Вы также можете посмотреть на Tcl/Tk, но это инструментарий :).
.Вы отметили этот вопрос о qt , теге, за которым я следую. Однако вы также спрашиваете о программировании c .
Если по какой-то странной (или принудительной) причине вы чувствуете, что должны использовать C, а не C ++, то Qt не для вас . Он был разработан с нуля как библиотека C ++.
Тем не менее, я настоятельно рекомендую задаться вопросом, почему вашему проекту требуется , чтобы быть на C. Есть много преимуществ у C ++, и идея о том, что C по своей сути лучше работает, в основном является мифом. Для получения некоторых достоверных данных по этому поводу ознакомьтесь с работой Бьярна Страуструпа Learning C ++ as a New Language .
Если вы должны придерживаться C, то всегда есть GTK. Базовый API GTK + - это C, но привязки также существуют для C ++ под названием GTKmm . Я не большой поклонник этого с точки зрения дизайна, но исторически работал с рабочим столом Gnome (по умолчанию Ubuntu) ... и Google выбрал его для своей версии Chrome для Linux. Так что у него есть некоторый авторитет и поддержка.
Но обратите внимание, что Ubuntu выбирает Qt5 для реализации своей следующей версии «Unity» на рабочем столе:
РЕДАКТИРОВАТЬ: Вы добавили:
Если мне нужно использовать C ++, это тоже нормально.
«Должен» - сильное слово, но практически нет сравнения между C ++ / Qt и C / GTK. И последнее становится историей.
Другой вариант - Tk, библиотека графического интерфейса, написанная на C. Она поставляется с Tcl, языком сценариев, также написанным на C. Они были разработаны с нуля для встраивания в программы на C. .
Взгляните на Инструментарий IUP . Он написан в основном на C, а также легко связан с Lua .
Для завершения этой публикации Allegro должен быть здесь =)
http://www.talula.demon.co.uk/allegro/ Библиотека игр Allegro, имеет множество графических функций и базовую библиотеку GUI
И явный графический интерфейс (и очень простой) на основе библиотеки Allegro
http://cgui.sourceforge.net/index.html
Оба мульти- платформа