Здравствуйте, SaZ, Вы писали:
SaZ>STL — уже очень крупная библиотека. Её вы тоже избегаете?
Она таковой стала в 11 стандарте. Ее избежать практически невозможно, иначе С++ превратиться в простой С с классами
SaZ>но вот буст это же в основном header-only библиотека.
Так и сделали с asio, часто пользуюсь.
SaZ>Вы можете чётко сформулировать, что значит для вас "крупная библиотека"?
Я думаю, что этого ни кто не сможет, если с точи зрения исходников. В данном вопросе (контексте обсуждаемой темы) на пальцах: CEF (Electron) крупная по тому, как надо тянуть с собой не один файл, да и конечно решение превышает 100МБ, QT избыточна — много лишнего, что пользовать не буду.
Re[2]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, niXman, Вы писали:
X>FLTK, wxWidgets
А в FLTK уже есть нормальная поддержка юникода? А то когда я им интересовался, надо было кодировку менять в зависимости от ОСи — какая уж тут кроссплатформенность.
Re[3]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, loginx, Вы писали:
L>Так вот — молиться надо на стратегические установки. а не текущую реализацию (лук-и-фил) L>Врубаетесь коллеги?
Приведу простой пример: собираем программку на FLTK 2.0, запускаем и удивляемся: все кнопки, все скроллбары, все элементы интерфейса выглядят как будто вырублены топором. Потому что по умолчанию они отрисованы в стиле то ли Motif, то ли еще какой древней фигни. Причем стандартные диалоги (например, диалог открытия файла) тоже саморисованные, а не системные.
Когда пользователи такую программу открывают, они сильно удивляются и долго еще плюются, потому что непривычно.
Например, вот так выглядит окно выбора файла на Windows 7:
Re[4]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, dosik, Вы писали:
D>Знаю, что тема неоднократно обсуждалась, но все же в этой ветке хочется сделать уклон именно на КОМПАКТНОСТЬ и ПОЛНУЮ БЕСПЛАТНОСТЬ. MacOS — обязательно, без Linux можно попробовать прожить. D>Да и чем еще развлечь себя на каникулах, давайте по дискутируем!!! D>Еще раз, нужна легковесная библиотека для небольших приложений, которая в идеале становиться частью исполняемого файла.
Если не требуется нативный вид контролов (всё же во многих случаях "не родной" вид приложения является минусом), то наверное самым лучшим решением будет https://github.com/wjakob/nanogui — тут и эффективность (рисует через GPU) и кроссплатформенность и компактность и использование современного C++.
D>А вообще начинаю склоняться к выводу, что будущее кроссплатформенных GUI — HTTP+REST/HTML+CSS+AJAX+JavaScript
Ты имеешь в виду реализовывать своё GUI с помощью запуска системного браузера? )
Re[2]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, alex_public, Вы писали:
_>https://github.com/wjakob/nanogui — тут и эффективность (рисует через GPU) и кроссплатформенность и компактность и использование современного C++.
Интересная своеобразная библиотечка.
_>Ты имеешь в виду реализовывать своё GUI с помощью запуска системного браузера? )
Именно.
Re[2]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, alex_public, Вы писали:
_>Если не требуется нативный вид контролов (всё же во многих случаях "не родной" вид приложения является минусом), то наверное самым лучшим решением будет https://github.com/wjakob/nanogui — тут и эффективность (рисует через GPU) и кроссплатформенность и компактность и использование современного C++.
Сыровата она, resize у неё весёлый
Re[2]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, reversecode, Вы писали:
R>давно известный ответ на такие вопросы — сделай сам R>в чем проблема взять и набросать свою гуи ?
Встречный вопрос — зачем?
Для чего тратить время и силы, на то, что давно уже готово
ИМХО этот путь (разработку своей GUI библиотеки на C++) я бы назвал:
— Ломиться в открытую дверь
P.S. А чем тебе Qt не угодил?
Ну не хочешь чтобы громоздко, так возьми предыдущую версию, например Qt 4.8.7.
В чём проблема?
Здравствуйте, dosik, Вы писали:
SaZ>STL — уже очень крупная библиотека. Её вы тоже избегаете? D>Она таковой стала в 11 стандарте. Ее избежать практически невозможно, иначе С++ превратиться в простой С с классами
Три кита ООП: Инкапсуляция Наследование Полиморфизм
Существуют и без STL...
Так при чём же здесь простой С с классами
SaZ>Вы можете чётко сформулировать, что значит для вас "крупная библиотека"? D>...QT избыточна — много лишнего, что пользовать не буду.
По ходу, понятие "крупная библиотека" осталось неясным...
Вот если бы Вы знали, что:
Процессоры (не только Intel и AMD, но даже и ARM) — избыточны;
Любая Операционная Система (как Windows, так и любой Linux и проочие мак-оси) — избыточна;
Любое приложение (aka пользовательский процесс) подымает за собой немало системных библиотек, о которых пользователи, а иногда даже и разработчики — сами не подозревают (утилита Depends.exe: http://www.dependencywalker.com в помощь)...
Думаю, что пересели бы с компьютера, за счёты — там избыточности нет
Здравствуйте, AlexGin, Вы писали:
AG>Три кита ООП: AG>Инкапсуляция AG>Наследование AG>Полиморфизм AG>Существуют и без STL...
Поздравляю Вас, что наконец то разобрались
AG>Вот если бы Вы знали, что: AG>Процессоры (не только Intel и AMD, но даже и ARM) — избыточны; AG>Любая Операционная Система (как Windows, так и любой Linux и проочие мак-оси) — избыточна...
AG>Думаю, что пересели бы с компьютера, за счёты — там избыточности нет!
Вы видимо так и делаете!
Re[3]: Компактная бесплатная C++ crossplatform GUI
AG>Встречный вопрос — зачем? AG>Для чего тратить время и силы, на то, что давно уже готово AG>ИМХО этот путь (разработку своей GUI библиотеки на C++) я бы назвал: AG>- Ломиться в открытую дверь
важный момент, следить за темой
начало темы, ТС, — я знаю много ГУИ, раз, два, три, ... итд, ничего не подходит, советуйте еще гуи
читая это, понятно, тема ради флейма, поэтому я дал резонный ответ, — ничего не нравится и не можешь найти ничего вменяемого ?! — сделай сам
Re[3]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, reversecode, Вы писали:
R>важный момент, следить за темой
Точно важный!!!
R>начало темы, ТС, — я знаю много ГУИ, раз, два, три, ... итд, ничего не подходит, советуйте еще гуи
Google (Wiki) предлагает много GUI, кто что юзал, посоветуйте что выбрать со следующими критериями: раз, два, три, ... итд
Re[3]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, Mr.Delphist, Вы писали:
_>>>Ты имеешь в виду реализовывать своё GUI с помощью запуска системного браузера? )
MD>А если его нет в системе? Ну вот вообще, отсутствует в природе как таковой (или есть, но уровня IE4).
Командная строка и конфигурировение по средствам редактирования файлов в помощь на таких системах.
Re[5]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, uzhas, Вы писали:
U>крестик на красном фоне нативный! всё, что нужно юзеру в данном случае
А как же гибкая навигация между папками, работа с другими дисками/сетью/мобилками, фильтрация по нестандартным расширениям? Ну и свежие системные фичи типа поиска по контенту (Win8/10) и т.п.
Системные диалоги ой как непросты.
Re[2]: Компактная бесплатная C++ crossplatform GUI
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, dosik, Вы писали:
D>>- и вот вроде как wxWidgets — то, что я ищу, так как судя по прочитанному мной на форуме — это "фасад" к стандартным ОС API.
Pzz>Это не так уж плохо, поскольку обеспечивает настоящий нативный лук анд фил, а не вечно кривоватую его эмуляцию. Но ходят слухи, что wxWidgets очень глюкав (сам я не пробовал).
wxWidgets под Windows использует стандартные типы окон (кнопка, выпадающий список, ...) из WinAPI, а под Unix — GTK. Но есть вариант сборки библиотеки wxUniversal. В этом случае под всеми ОС все интерфейсные элементы реализуются самостоятельно, а не используются готовые типы окон и поэтому выглядит одинаково под всеми платформами. wxUniversal под UNIX реализуется через xlib. Я давно не использовал wxWidgets, а когда использовал последний раз — wxUniversal был ещё сырой, а для строк использовались самостоятельные классы, но — велась работа по переписыванию на использование std::string. Тогда я какой-то глюкавости не заметил, но проект развивался очень вяло. Что сейчас — не знаю.