Интегрировать Qt в существующий проект VS для замены WinAPI - PullRequest
2 голосов
/ 17 июня 2020

Я использую VS2019 и Qt 5.12.9, и у меня есть старый проект C ++, который в настоящее время использует WinAPI для своих элементов пользовательского интерфейса. Я хотел бы постепенно заменить это пользовательским интерфейсом, реализованным в Qt, сначала нацелив его на c windows, а в конечном итоге полностью отказавшись от WinAPI. В связи с этим у меня есть два вопроса:

  1. Как мне изменить файлы проекта VS, чтобы проект выполнял все необходимые операции сборки (файлы .mo c, et c.) ?
  2. Возможно ли «бок о бок» Qt и WinAPI UI? Другими словами, главное окно по-прежнему будет использовать Windows сообщение l oop и оконные процедуры, но для определенных c windows я бы создал экземпляры объектов Qt.

Помните, что установка, описанная в 2), является временным решением. Я не собираюсь вечно жонглировать этими двумя вещами, проект слишком велик, чтобы сразу полностью заменить пользовательский интерфейс.

Заранее спасибо!

1 Ответ

0 голосов
/ 19 июня 2020

Итак, основываясь на рекомендациях @IInspectable в комментариях, я решил попробовать обновить приложение с помощью WinUI вместо Qt. Проблемы, с которыми я столкнулся, потребуют отдельного вопроса, поэтому сейчас я опубликую здесь свои собственные выводы:

  1. Если вы хотите использовать Qt, самый надежный вариант - запустить совершенно новый проект VS (и, возможно, перенос части вашего внутреннего кода). Смешивание Qt с WinAPI слишком сложно и ненадежно.
  2. Если вы хотите использовать WinUI, имейте в виду, что ваше приложение будет работать только на Windows 10 . Если это не вызывает беспокойства, но вы работаете с устаревшим кодом, вам также может потребоваться распутать множество старых конфигураций (Windows версия определяет, и c.), Которые необходимы для работы WinUI.
...