Я использовал wxFormBuilder по двум причинам:
- Он кроссплатформенный, и мне нужно что-то, что будет работать в Linux.
- Я новичок в wxWidgets, и я не хотел тратить много времени на изучение GUI.
Я думаю, что это работает довольно хорошо, и, будучи знакомым с подобными инструментами построения GUI (Borland C ++ Builder, Jigloo for Java, Delphi), я нашел его простым в использовании.
Если вы придерживаетесь парадигмы использования wxFormBuilder для генерации базовых классов, а затем создаете класс, который наследует для наложения определенной логики вашего приложения сверху, абсолютно не редактируя вручную код C ++, который генерирует wxFormBuilder, тогда он работает хорошо и вы можете легко обновлять и изменять свои графические интерфейсы в wxFormBuilder снова (и снова ...).
Преимущества:
- Может генерировать базовые графические интерфейсы довольно быстро, визуально, без необходимости постоянно просматривать документацию.
- Не нужно делать столько циклов кода / компиляции / запуска, просто чтобы убедиться, что ваш GUI выглядит так, как вы ожидали.
- Парадигма базового класса / производного класса может достаточно разумно разделить ваш графический интерфейс и код бизнес-логики.
Потенциальные недостатки
- Отказ от ответственности: Я использовал wxWidgets только для создания очень простых и понятных графических интерфейсов, поэтому на самом деле не ограничивал инструмент какими-либо ограничениями.
- Потенциально парадигма базового класса / производного класса может иногда мешать вам, если вы делаете что-то слишком сложное с вашим GUI (OTOH, которое может указывать на то, что вам, возможно, придется пересмотреть свой подход.)
- У меня была ситуация, когда мне нужен был пункт меню при компиляции для одной операционной системы, но не при компиляции для другой. В wxFormBuilder нет логики для поддержки этого. Я закончил тем, что выбрал быстрый способ создания пункта меню, а затем мой производный класс сделал его невидимым, если это была неправильная ОС (не идеальная).
Вот и все, я думаю.