По моему мнению, для создания приложения, которое вы создаете, нужно больше, чем для графического интерфейса.
Для нормального графического интерфейса на C / C ++ Win32 предоставляет достаточно элементов управления для достойно выглядящего приложения с хорошим временем отклика.
На что вам следует обратить внимание, так это на то, как сделать его многопоточным, основываясь на времени, которое ваши модули берут на выполнение.
Рассмотрим небольшой пример: в вашем графическом интерфейсе пользователя отслеживается подключение к базе данных, которое проверяется каждую секунду. Другой модуль может отправлять большие файлы в другие приложения. Теперь, если приложение является однопоточным, ваш графический интерфейс обязательно будет иметь проблему с ответом. Если соединение с базой данных очень медленное из-за проблем с сетью / базой данных, ваше приложение будет зависать независимо от выбранных каркасов графического интерфейса или аппаратного обеспечения, если это было однопоточное приложение.
Но если вы напишите хороший дизайн и выделите отдельный поток для обработки GUI и другие потоки для обработки фоновых задач, у вас будет действительно хороший ответ GUI. Таким образом, вы можете выполнять другие задачи в фоновом режиме, а графический интерфейс обновляется при получении уведомления. Помните, что это не произойдет волшебным образом, и вам нужно синхронизировать потоки и обновить графический интерфейс.
Кроме того, избегайте создания потоков для каждой задачи. Вам нужно проверить вещи, которые могут занять больше времени, такие как отправка больших файлов или более быстрые задачи, такие как проверка / чтение, если файл конфигурации существует или нет.
Используя сторонние графические интерфейсы, вы увеличиваете свои зависимости в своем приложении, и вам потребуется отправить дополнительные библиотеки и т. Д. Вместе с основным приложением. С win32 все довольно аккуратно.