Хорошая (и бесплатная) альтернатива VCL GUI
-
03-07-2019 - |
Вопрос
У меня есть проект с довольно грязной кодовой базой VCL, созданный на Borland C ++ Builder 6. Я намереваюсь переписать большинство его частей, так как в его текущем состоянии его трудно поддерживать. Я ищу хорошую и бесплатную альтернативу VCL. Это коммерческий проект с закрытым исходным кодом только для Windows.
Итак, основные требования:
<Ол>Пожалуйста, опубликуйте свои предложения, с за и против, если это возможно.
ИЗМЕНИТЬ
Спасибо за все ответы. Я решил использовать Qt, так как у него есть и другие полезные функции, такие как перевод Qt Linguist.
Решение
Попробуйте Qt . Его LGPL, поэтому он может быть использован в программном обеспечении с закрытым исходным кодом. Он предоставляет виджеты, сетевые функции, доступ к базе данных, веб-рендеринг через WebKit, анимацию и многое другое. Его документация является одной из лучших в своем роде.
Другие советы
Ознакомьтесь с wxWidgets . Его дизайн немного старомоден, но когда вы начинаете с него и используете самую последнюю версию, он должен быть достаточно дружественным к STL. Он бесплатен для коммерческого использования, и даже если вы не собираетесь использовать его кроссплатформенные возможности, он может стать хорошей библиотекой для написания графического интерфейса Windows.
Как указано mghie
wxWidgets - отличная библиотека. Он имеет много привязок (.net, lua - мой любимый и т. Д.) И имеет графический редактор. Хотя он генерирует довольно непонятный код, вы можете просто разделить его функциональность.
Вам может понадобиться бесплатная версия BCB: Turbo C ++ Explorer или попробуйте .NET CLR / WinForms.
WxWidgets - это просто библиотека графического интерфейса. Qt является платформой, но все еще далека от инфраструктуры RAD, такой как VCL. Единственный конкурент - MFC, и, к сожалению, он не бесплатный. С некоторой точки зрения .NET + CLR является преемником VCL - ну, может быть, вы также можете попробовать это - если вы не возражаете, для этого требуется огромный .NET Framework.
Если вам просто нужно хорошее и бесплатное решение и не отказывайтесь от использования VCL, используйте TC ++ Exp.
Возможно, вы захотите взглянуть на проект Qt