Задать вопрос
@my_username

Как создают интерфейсы в программах?

Я прекрасно знаю, как создают интерфейсы в вебе - это html + css. Но какой язык разметки и оформления для десктопных программ? Что описывает их расположение и как делается, что вот эта кнопка, условно, при наведении должна подсвечиваться синим?
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
AshBlade
@AshBlade
Просто хочу быть счастливым
Самый низкий уровень - системные вызовы:
Это WinAPI, X11 и т.д. Я не десктоп разработчик, но сейчас мало кто ими пользуется.

Дальше идут фреймворки, потроенные вокруг них:
Это wxWidgets, WTL (Windows Template Library)

И на самом верху - полноценные языки разметки/программирования:
Qt, XAML, Electron

Дополнительно, никто не мешает свой фреймворк написать оконный - поверх существующих WinAPI, либо через графический фреймворк (SDL, например)
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Но какой язык разметки и оформления для десктопных программ?

Какой хочешь, тот и будет.
1. Хочешь - можно втащить тот же html и css в виде Electron, CEF или чего-то самодельного.
2. Хочешь - никакого не будет и будешь сам рисовать геометрию на экране.
3. Хочешь - будет что угодно на спектре от п1 до п2.

Если тебя интересует именно Си, то можешь посмотреть на GTK, например.
Ответ написан
Комментировать
@tifco
Например, касаемо Qt, я читал как создавать интерфейсы ("сигнал-слоты" или же именно окошки?) при помощи данного фреймворка. Но это программирование на C++. Не на Си.
Сами по себе Cи и С++, в силу своего давнего развития, заточены для консоли. Какие там графические средства могут быть "из коробки"?
Да и понятие ООП (объектно-ориентированное прогр.), на принципах которого и строятся оконные интерфейсы, появилось позже, уже в C++. Т. к. последний - язык Си и надмножество над ним. Т. е. дополнительные возможности. Потому так и говорят C++ - Cи с плюсами или Си с классами. Сам же по себе Си - структурно-ориентированный ЯП (если не ошибаюсь). Со всеми вытекающими. Старенький он, старенький. Что вы от него хотите? Кроме низкоуровневого, системного программирования.
Что касаемо WinAPI, что-то я сомневаюсь в его возможностях на данный счет. Иначе бы зачем тогда дополнительные фреймворки лепить, если бы все было в комплекте?
Выше пишут про геометрию на экране. Я уж не помню, вроде бы в "Pelles C" можно было выйти в некий графический режим (графическая "песочница"). В рамках которого рисуй себе что хочешь. Быть может и окошки с кнопками, на свой лад. Этот графический режим похож на тот, что применяется часто, для обучения программированию, в Basic. Там ничего другого делать нельзя, кроме как: round, line, circule и т. п. - только на Си. Толи в книге, что в комплекте с этим компилем, этот режим был описан, толи пример был в самой программе приведен. Точно не скажу. Я как-то нашел его, случайно, чисто из любопытства. Можно ли сделать интерактивные объекты - вопрос. А вот просто нарисовать - да.
В общем, это, не претендую на абсолютную истину. :)
Ответ написан
@my_username Автор вопроса
Добавлю отличную статью на хабре по теме вопроса https://habr.com/ru/articles/825916/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы