что нужно знать чтобы писать программы с графическим интерфейсом на Си?

Проблема такая - изучил основы Си. Написал кое какие программы консольного формата которые ныне решают мои задачи. Но теперь мне понадобилась программа с графическим интерфейсом поскольку меня заинтересовала работа с изображениями, а консоль тут даже отдаленно ничем помочь не может.

Интересно именно под linux с использованием xlib : я уже пытался понять с чего начать, но кроме этого ничего вразумляющего не нашел, и даже тут сразу столкнулся с системными переменными. Сразу после этого море вопросов по типу: 1) а что это? 2) а где их брать? 3) а как понять за что какая отвечает? 4) а какие у них есть свойства? и т. д.

И как я понимаю это наверняка не единственное что необходимо знать, чтобы писать подобные программы.

Прошу тех кто уже занимается подобным - очень нужен какой-нибудь гайд или своего рода roadmap - просто очень многие вещи которые гуглишь на эту тему либо бесполезны(не по теме в итоге) либо есть нужное но для их понимания надо еще что-то знать - как в случае с системными переменными(в том смысле что - а с чего начать изучать эти системные переменные и т. д. Ведь все постигается на практике)

Заранее спасибо))


Ответы (3 шт):

Автор решения: Eugene X

Для Linux/OSX использую обычно Qt, он достаточно простой и понятный.

Для Windows по хорошему конечно WinAPI! Но я очень ленивый поэтому использую C++ Builder с VCL. Кстати скажу что в VCL из коробки очень удобный набор для работы с картинками.

→ Ссылка
Автор решения: IvanGrishyn

Начинать надо с чего попроще. SFML например.

→ Ссылка
Автор решения: eri

Если речь о современном и хорошо документированном, то GTK3 или GTK4 если обновили систему хорошо интегрируется с голым си без плюсов: без классов. Сигналы реализованны колбэками.

WxWidgets если ГТК покажется сложным. Но тут уже плюсы.

Для винды оно тоже собирается, но тяжелее чем Qt.

Qt для кода на плюсах имеет довольно много возможностей. Интересные интерфейсы получаются в связке с QML.

Примитивами xlib никто уже не пишет ничего серьёзного. Разве что утилиту настройки тач стекла можно встретить.

→ Ссылка