Легкая С++ Gui Library
Я хочу создать графические приложения с С++ в Windows. Я загрузил Qt, и он работает хорошо, но в нем много материала и столько файлов заголовков, которые я действительно не использую. Это хорошая структура, но она имеет больше, чем просто графический интерфейс.
Есть ли более легкие библиотеки GUI для Windows С++, которые являются "просто графическим интерфейсом"?
Ответы
Ответ 1
FLTK, если вы серьезно относитесь к облегчению.
http://www.fltk.org/
Редактирование:
Blurb с веб-сайта:
FLTK спроектирован так, чтобы быть небольшим и модульным, чтобы быть статически связанным, но отлично работает как разделяемая библиотека. FLTK также включает отличный создатель пользовательского интерфейса под названием FLUID, который можно использовать для создания приложений за считанные минуты.
Я добавлю, что его зрелые и стабильные тоже.
Ответ 2
JUCE довольно легкий, он может быть таким же простым, как один .cpp и один .h файл. (Посмотрите на объединенный JUCE) Однако это не похоже на стандартное приложение Windows. С другой стороны, это кросс-платформа.
Ответ 3
Даже если здесь уже названы wxWidgets:
WxWidgets!
Это отличный и ценный фреймворк (API, Class Library, все, что вы можете назвать).
НО: Вы можете разделить функциональные возможности этой библиотеки на многие мелкие части (base, core, gui, internet, xml) и использовать их, когда это необходимо.
Если вы действительно хотите сделать приложения GOOD GUI, вам нужно использовать ХОРОШИЙ API. wxWidgets абсолютно свободен (QT - нет), требуется только небольшая накладная часть в двоичной форме, связанная как dll или o-file, это около 2 мегабайт, но она должна предлагать все, что вам когда-либо понадобилось, чтобы программировать отличные приложения...
И wxWidgets намного легче QT... и даже лучше...:)
Попробуйте...
Ответ 4
CEGUI - мощная библиотека графического интерфейса, но я не уверен (поскольку вы не уточнили), что вы имеете в виду легким весом. Он содержит много заголовков, но все они связаны с графическим интерфейсом или его рендерингом. На моем компьютере текущая версия Release, построенная по умолчанию для версии VS2010, занимает около 3 МБ для DLL. Разумеется, активы также занимают место, но ясно, что они могут варьироваться в зависимости от ваших потребностей. Он использует XML и файлы изображений в активах, изображения занимают больше всего места. Для этого требуется набор dll в зависимости от ваших требований (png, jpeg, xml parsing dlls), но все они довольно малы в Release. Поэтому, если вы не иррационально педантичны относительно использования слишком большого количества DLL, это не должно быть проблемой.
Он написан на С++ (0.7-1.0 будет основан на стандарте C99, 2.0+ будет в стандарте С++ 11) и поддерживает динамическое и статическое связывание. Динамическое связывание - это поддерживаемый тип в Windows. Статическая связь в Windows не рекомендуется для CEGUI.
Вот краткое описание функций:
-
Современный (использует STL, XML для своих файлов активов и внутренне поддерживает стандарт C99 для максимальной совместимости после 1.0 Отпустите его, используя С++ 11 в ветке разработки). Он также поддерживает символы юникода и все типы языков (как видно из образцов).
-
Предлагает следующие виджеты из окна: текстовые поля (прокручиваемые), поля редактирования, многострочные правки, прядильщики, флажки, кнопки, переключатели, окна с вкладками, прогресс полосы, прокручиваемые панели, ползунки, выпадающие меню (comboboxes), панели меню, контейнеры макетов (вертикальные/горизонтальные) и многое другое
-
Опубликовано в лицензии MIT Open Source, одна из лицензий, предоставляющая вам наибольшую свободу, вам нужно будет только распространять файл лицензии с приложением и
-
Макеты можно легко создать и отредактировать, используя WYSIWYG редактор, написанный на Python. Он называется CEED и также свободно доступен. Он прошел множество испытаний и подходит для производства. Опубликован стабильный релиз, а новые функции находятся в разработке на будущее. Редактор набора изображений также доступен в одном приложении.
-
Как указано, это бесплатно для коммерческого использования. Единственное обязательство, которое у вас есть, - это распространять файл лицензии.
-
CEGUI подходит для использования кросс-платформенной. Он официально поддерживает Windows, Linux, Mac OS. Он также использовался на iOS и Android. Android поддерживается в ветке разработки.
Он был первоначально разработан как графическая библиотека для игр, но также идеально подходит для использования в научных приложениях, рендеринга приложений, визуализации. Настольные приложения также могут быть выполнены. Простой Windows-подобный скин доступен в активах по умолчанию.
Он существует уже более 10 лет, имеет активное сообщество и является надежной, многофункциональной и расширяемой библиотекой.
Ответ 5
wxWidgets
Ответ 6
Библиотека классов Microsoft Foundation (MFC)
Учитывая, что вы ищете ТОЛЬКО РЕШЕНИЕ WINDOWS, (и что wxWidgets был проголосован за эту тему), вы можете обменять некоторые легкие и контрольные MFC.
Что касается Windows, то MFC и wxWidgets, похоже, конкурируют с шеей и шеей, но в целом, первый светлее последнего.
Некоторые PROS: -
- Поддержка MSVC MFC RAD. Visual Studio, возможно, обеспечивает лучшее "RAD
tool и GUI lib ". Единственный другой динамический дуэт, который близок
это QtCreator и QT. wxSmith не полностью поддерживает все
- wxWidgets компоненты, но он продолжает улучшаться. Очень богатый набор
коммерческих компонентов графического интерфейса пользователя.
- Свободный (но проприетарный).
- Очень приятно, когда дело доходит до элементов управления данными.
Некоторые CONS: -
- В тот день, когда вы решите подключиться к другим платформам, вы захотите, чтобы у вас была перекрестная платформа lib.
- Собственный характер MFC означает, что вам придется очень осторожно переходить к лицензированию. Но AFAIK, MFC, может свободно перераспределять в двоичной форме.
Здесь хорошая статья, касающаяся "нефти и воды" , которая является "приложениями MFC и FLOSS" ,. По-видимому, они просто могут смешиваться.
В любом случае, appart из MFC, я думаю, что FOX-Toolkit также заслуживает упоминания, но, как и FLTK, основной недостаток отсутствие достойных IDE и RAD-инструментов по сравнению с, скажем, QT или wxWidgets
Ответ 7
IUP - это самый маленький, который я знаю, как с точки зрения кривой обучения, размера и функций DLL.
Ответ 8
Попробуйте eGui (см. здесь или здесь) или WTL.
Ответ 9
попробуйте GTK с Glade3.