О библиотеках
От: LaptevVV Россия  
Дата: 14.09.25 04:35
Оценка:
Что-то у меня голова кругом идет.
OpenGL + версии (хрен знает сколько, да еще ES)
SDL + версии 2 3
GWFL
SFML
А потом на этой базе еще гуй делается.
Вон чего у tgui написано:
SFML_GRAPHICS backend (Uses sfml-graphics for everything)
SFML_OPENGL3 backend (Uses sfml-window and FreeType, using OpenGL to draw)
SDL_GPU backend (Uses SDL and SDL_ttf, using SDL_GPUDevice to draw)
SDL_RENDERER backend (Uses SDL and SDL_ttf, using SDL_Renderer to draw)
SDL_TTF_OPENGL3 backend (Uses SDL and SDL_ttf, using OpenGL to draw)
SDL_TTF_GLES2 backend (Uses SDL and SDL_ttf, using OpenGL ES to draw)
SDL_OPENGL3 backend (Uses SDL and FreeType, using OpenGL to draw)
SDL_GLES2 backend (Uses SDL and FreeType, using OpenGL ES to draw)
GLFW_OPENGL3 backend (Uses GLFW and FreeType, using OpenGL to draw)
GLFW_GLES2 backend (Uses GLFW and FreeType, using OpenGL ES to draw)
RAYLIB backend (Uses raylib for everything)

ImGUI — оно же такое

Эти все подкладки — они для графики ?

xtd — там вообще wxWidget внизу...

U++ — это вообще вся своя среда, как и Qt

А fltk — она без подкладки.
Страуструп вон даже в книжке ее прописал.

Просто глаза разбегаются.

И не говорите, что все от задач зависит.
Мне студентов учить, надо чего-то выбрать более-менее не старое (Qt не предлагать — монстр еще тот)

xtd ?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: О библиотеках
От: DiPaolo Россия  
Дата: 14.09.25 06:30
Оценка: +3 :)
Нихрена непонятно, в чем вопрос и о чем речь

Студентам давать Qt! Самое адекватное из всего что есть на плюсах. От остального кровь из глаз. У студентов всю охоту отбить можно и вообще посеять ненависть к десктопным ГУЯм.

PS ну разве что они не на PDP-11 и не ZX Spectrum каких-нить учатся
Патриот здравого смысла
Re[2]: О библиотеках
От: LaptevVV Россия  
Дата: 14.09.25 06:59
Оценка: +1
DP>Нихрена непонятно, в чем вопрос и о чем речь
Мне пока тоже не очень понятно — на какой библиотеке остановиться...
Посмотрел на xtd — нравится.

DP>Студентам давать Qt! Самое адекватное из всего что есть на плюсах. От остального кровь из глаз.

1. Qt они и вполне сами осваивают.
2. Не люблю Qt.
3. Ну их нахрен: https://www.rbc.ru/technology_and_media/06/03/2022/62221a5b9a79472b4f07b5e1

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


DP>PS ну разве что они не на PDP-11 и не ZX Spectrum каких-нить учатся

Не надо смешивать лучшую архитектуру на все времена с говном.
Это не одно и то же...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: О библиотеках
От: Hоmunculus  
Дата: 14.09.25 07:04
Оценка:
Здравствуйте, LaptevVV, Вы писали:

Если даже препод не врубается во все эти флаги, может не стоит студентов напрягать?
И может стоит учить тому, с минимальным опытом чего хоть на работу можно устраиваться? Кому нафиг из работодателей нужен опыт в какой-то TGUI? А с хитрыми флагами потом сами разберутся если надо будет
Re: О библиотеках
От: DiPaolo Россия  
Дата: 14.09.25 07:20
Оценка:
Я бы посоветовал, перво-наперво, определиться с целями. От них и плясать. Да и тут помочь коллегам будет проще. А то "что учить" слишком размыто

Второе, я бы выбирал из этого списка https://github.com/fffaraz/awesome-cpp?tab=readme-ov-file#gui

Как вариант, дать какой-нить декларативный фреймворк.

Ну или вот тот же достаточно популярный Sciter есть.
Патриот здравого смысла
Re[2]: О библиотеках
От: LaptevVV Россия  
Дата: 14.09.25 07:23
Оценка:
H>Если даже препод не врубается во все эти флаги, может не стоит студентов напрягать?
С чего-то надо начинать.
На Qt я когда-то писал.
FLTK сам Страуструп для студентов использовал.
Но сейчас необходимо посмотреть вокруг.
Поэтому и спрашиваю знатоков.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: О библиотеках
От: Hоmunculus  
Дата: 14.09.25 07:27
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

А предмет-то как называется? Если UI там просто чтоб был интерфейс, может не стоит мудрить и взять Qt? А то куча времени уйдет на то, для чего курс не предназначен.

А отменяют там его для нас или нет — пофиг. Куча работодателей хотят Qt
Re: О библиотеках
От: kov_serg Россия  
Дата: 14.09.25 07:52
Оценка: 21 (1)
Здравствуйте, LaptevVV, Вы писали:


LVV>И не говорите, что все от задач зависит.

LVV>Мне студентов учить, надо чего-то выбрать более-менее не старое (Qt не предлагать — монстр еще тот)

студентам однозначно raylib (книга+примеры) для экспериментов и лаб самое то.
если хочется без компиляции treejs (js) в браузере или love2d (lua), pyglet (python3)

для gui придётся qt расказывать ибо оно повсюду, если хочется менее монструозно смотреть альтернативы.
а по поводу монстров есть же unreal engine 5 вот где можно разгуляться.
Re[2]: О библиотеках
От: Hоmunculus  
Дата: 14.09.25 07:54
Оценка: :))
Здравствуйте, kov_serg, Вы писали:

_>unreal engine 5 вот где можно разгуляться.


Пробовал кстати сделать на анреале аналог консольного HelloWorld. Ну чтоб выглядело как будто консольная прога. С вырезанием всего и вся. Мегов 90 вроде занял финальный билд
Re[4]: О библиотеках
От: LaptevVV Россия  
Дата: 14.09.25 08:33
Оценка:
H>А предмет-то как называется? Если UI там просто чтоб был интерфейс, может не стоит мудрить и взять Qt? А то куча времени уйдет на то, для чего курс не предназначен.
Да начальство еще и само не понимает.
Влезли в программу по ИИ.
А там роботы и сенсорика...
Эт, конечно, не гуй, но там, видимо, много всего придется с нуля поднимать.
Гуй — это я и для себя и пролоббировать перед начальством какой-нить такой курс (все одно оне не понимают)...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: О библиотеках
От: LaptevVV Россия  
Дата: 14.09.25 08:34
Оценка:
Предлагаешь игрушки писать ?

Эт они и сами освоят.
Хотя мысль интересная.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: О библиотеках
От: kov_serg Россия  
Дата: 14.09.25 08:42
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Предлагаешь игрушки писать ?

LVV>
Не обязательно.
LVV>Эт они и сами освоят.
LVV>Хотя мысль интересная.

Для визуализации урматов 1, 2, да и вообще бытрая обратная связь.
Re[4]: О библиотеках
От: LaptevVV Россия  
Дата: 14.09.25 08:56
Оценка:
LVV>>Предлагаешь игрушки писать ?
LVV>>
_>Не обязательно.
_>Для визуализации урматов 1, 2, да и вообще бытрая обратная связь.
По стандарту направления Программная инженерия нет физики вообще...
Но согласен, графические библиотеки вполне подойдут.
Хотя Страуструп в своей книжке для студентов графики функций строил вполне с помощью FLTK.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: О библиотеках
От: kov_serg Россия  
Дата: 14.09.25 09:21
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>>>Предлагаешь игрушки писать ?

LVV>>>
_>>Не обязательно.
_>>Для визуализации урматов 1, 2, да и вообще бытрая обратная связь.
LVV>По стандарту направления Программная инженерия нет физики вообще...
LVV>Но согласен, графические библиотеки вполне подойдут.
LVV>Хотя Страуструп в своей книжке для студентов графики функций строил вполне с помощью FLTK.
Графики функций лучше на питоне строить, а вот итереактивную визуализацию лучше в raylib
покрутить матрицы, поумножать кватернионы, анимацию повертеть, более того оно умеет в gltf можно из блендера модели с анимацией засовывать, а если еще подключить какой нибудь esp32+gy87 будет весело
Отредактировано 14.09.2025 9:32 kov_serg . Предыдущая версия . Еще …
Отредактировано 14.09.2025 9:31 kov_serg . Предыдущая версия .
Отредактировано 14.09.2025 9:28 kov_serg . Предыдущая версия .
Отредактировано 14.09.2025 9:25 kov_serg . Предыдущая версия .
Re[3]: О библиотеках
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 14.09.25 09:38
Оценка: +4
Здравствуйте, LaptevVV, Вы писали:

DP>>Студентам давать Qt! Самое адекватное из всего что есть на плюсах. От остального кровь из глаз.

LVV>1. Qt они и вполне сами осваивают.

А зачем им осваивать какое-то говно на занятиях, которое никогда не пригодится, а Qt, на котором они будут в пром разработке писать с 50% вероятностью, осваивать в свободное время?
Ну и тут как, кто-то будет осваивать, кто-то не будет, а если Qt будут все осваивать, то будет обмен информацией и помощь от сокурсников при проблемах.


LVV>2. Не люблю Qt.


Это плохо, когда свои предпочтения ставятся выше объективных обстоятельств, особенно в образовании


LVV>3. Ну их нахрен: https://www.rbc.ru/technology_and_media/06/03/2022/62221a5b9a79472b4f07b5e1

LVV>

LVV>Скандинавский разработчик софта Qt Group, на базе продуктов которого российские компании создают интерфейсы и приложения, ограничил доступ для российских пользователей.


Да и срать. Вы же на линупсе? Qt оттуда уже выпилили? Или ты такой же, как тупые европейсы, которые свою экономику гробят, только чтобы русским подгадить? Решил подгадить им аналогичным способом?
Маньяк Робокряк колесит по городу
Re: Склоняюсь к xtd и tgui
От: LaptevVV Россия  
Дата: 15.09.25 04:42
Оценка:
TGUI на базе SFML.
А в SFML есть network — сокеты и все такое...
Ну, и графика там же, и аудио/видео

xtd — там есть консольная часть, можно и в консоли курсором управлять и даже окна делать.
wxWidget для окон из коробки
xUnit сразу там же
И они косят под Go
xtdc run

LVV>U++ — это вообще вся своя среда, как и Qt

Это надо все же попробовать, когда руки дойдут

LVV>А fltk — она без подкладки.

LVV>Страуструп вон даже в книжке ее прописал.
Ну, и это тоже...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: О библиотеках
От: so5team https://stiffstream.com
Дата: 15.09.25 06:49
Оценка: 22 (2) +3
Здравствуйте, LaptevVV, Вы писали:

LVV>Что-то у меня голова кругом идет.


Насколько я вижу сильно со стороны, сейчас в области разработки десктопного GUI на C++ есть два с половиной направления:

Первое направление -- это традиционный "тяжелый" GUI. Который нужен для продвинутых офисных пакетов (а-ля MS Office, LibreOffice, МойОфис и т.д.), мощных CAD-ов и пр. Когда нужны меню, тулбары, разные виды окон, MDI и вот это вот всё. Для этого направления, емнип, предназначены Qt, wxWidgets, FLTK, FOX Toolkit, U++ и пр. Из того, с чем приходилось (когда-то давно) иметь дело в лучшую сторону выделяется только Qt. Их механизм signal-slots, система layout-ов и spacer-ов, делала разработку GUI гораздо более простым и удобным занятием, чем wxWidgets, FOX Tooltip или приснопамятный MFC. ИМХО, учить сейчас людей чему-то отличному от Qt (особенно такому динозавру, как FLTK) -- это диверсия. Учить имеет смысл хорошему, а условный FLTK человек и сам найдет и освоит, если столкнется с ограничениями того же Qt.

Плюс к тому, в таких "тяжелых" классических GUI очень важны не только сами виджеты, но и разные "паттерны", вроде MVC или MVVM.

Ответвление от первого направления -- это легковесный классический GUI. Когда нам нужно всего пара-тройка несложных форм, без всего-того многообразия, которое есть в мире GUI. Типа есть программулина в виде "черного ящика" (демон/служба к примеру), нужно к ней GUI-конфигуратор сделать для дюжины параметров. Здесь имеет смысл смотреть в сторону Sciter или Nana (хотя Nana, возможно, уже и не развивается).

Второе направление -- это т.н. immediate mode GUI, самым известным представителем которого является Dear ImGUI.
Это направление для задач, где требуется максимально быстрое отображение, а качеством и удобством GUI можно пожертвовать. Либо там вообще специфические требования к GUI. Это различные инструменты для игростроя, видео- и аудио-редакторы, средства визуализации информации (рисование "стрелок осциллографа" (с) с максимальной скоростью) и вот это вот всё.

Причем подходы и цели у каждого из этих направлений разные. И вряд ли в рамках одного курса получится дать в достаточной степени и одно, и другое. ИМХО, тут следует определяться:

— либо классический GUI. Тогда либо Qt для "тяжелого" GUI (+акцент на паттерны, вроде MVC) или Sciter/Nana для "легкого";
— либо immediate mode GUI, тогда Dear ImGUI.

Как бы все остальное выглядит попыткой обхитрить самого себя.
Re[5]: О библиотеках
От: Stanislav V. Zudin Россия  
Дата: 15.09.25 07:05
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Влезли в программу по ИИ.

LVV>А там роботы и сенсорика...
LVV>Эт, конечно, не гуй, но там, видимо, много всего придется с нуля поднимать.
LVV>Гуй — это я и для себя и пролоббировать перед начальством какой-нить такой курс (все одно оне не понимают)...

Тогда почему не sciter?
_____________________
С уважением,
Stanislav V. Zudin
Re: О библиотеках
От: alpha21264 СССР  
Дата: 15.09.25 08:05
Оценка: +3
Здравствуйте, LaptevVV, Вы писали:

LVV>Мне студентов учить, надо чего-то выбрать более-менее не старое (Qt не предлагать — монстр еще тот)


Qt большая, но хорошо структурированная.
Поэтому легко найти нужное место.
Во всяком случае я лазил к ней в потроха и вносил исправления (и оно получалось).
А ещё она хорошо документирована.
И у неё самая лучшая документация из того, что я в своей жизни видел.

Течёт вода Кубань-реки куда велят большевики.
Re: О библиотеках
От: SaZ  
Дата: 15.09.25 09:46
Оценка: +1 -1
Здравствуйте, LaptevVV, Вы писали:

LVV>Что-то у меня голова кругом идет.

LVV>...

Тут много написали, добавлю что знаю.

Про Qt (адептом которого я являюсь, ибо не вижу аналогов) я бы советовал сразу смотреть в сторону QtQuick/QML, а не виджетов. Да, язык декларативный, со своими плюшками и недостатками. Но перед
этим нужен минимальный фундамент в самом кутэ — это их базовый класс QObject, система сигналов-слотов, понятие свойств (см. макрос Q_PROPERTY). Этого достаточно чтобы сделать связку между C++ и QML. Впрочем, можно делать QtQuick интерфейс на чистых плюсах, не зная синтаксиса QML, но это неудобно.
Почему не нужны виджеты — они стабильные, удобные, но с точки зрения обучения они провоцируют формошлёпство, ибо студенты будут бизнес логику пихать в обработчики кнопок и т.п.
Из плюсов QML — он компилируется практически во что угодно, в том числе webassembly. Можете глянуть пример тут (всё в браузере, можно на лету редактировать QML — https://try.qt.io/projects/outrun-ivi)

Сам не ковырял, но есть ещё достаточно популярный фреймворк — Flutter. Его чаще для мобилок используют. И главный недостаток — нет связки с C++.

В целом и общем, у большинства фреймворков есть следующие недостатки: отсутствие поддержки accessibility (а многие инструменты автотестирования завязаны на него), проблемы с HiDpi экранами или многомониторными системами, проблемы с хоткеями, проблемы с нормальной поддержкой drag-n-drop. Это всё далеко не сразу очевидно и даже в энтерпрайзе не сразу выстреливает, но бороться со всем этим крайне неприятно. Qt в этом плане достаточно хорошо продуман. Казалось бы, а зачем это всё студентам? Но... зачем страдать с чем-то среднего качества, когда можно взять хорошее.

Когда я учился у нас были следующие направления:
Некоторые (в том числе я) упарывались и делали интерфейсы на голом си + винапи, даже без mfc/wtl. Дичь та ещё, но в будущем мне это несколько раз пригодилось, особенно когда занимался встраиванием игровых движков в десктопные редакторы.
Кто-то самостоятельно учил делфи / с++ билдер, но в коде было сплошное формошлёпство, ибо в нашем техникуме в начале 2000-х про паттерны нам никто не рассказывал =)
А большинство делали интерфейсы на ФоксПро 6 — почему-то он взлетел для тех задач, которые нам давали на лабы и курсовые. Хотя в большинстве случаев это было как забивать гвозди микроскопом.
Отредактировано 15.09.2025 9:54 SaZ . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.