Переход от MFC к QT - PullRequest
       20

Переход от MFC к QT

3 голосов
/ 09 ноября 2009

В настоящее время все наши компоненты GUI написаны на MFC. Наша среда сборки:

VC 6

Windows XP

Понятия не имею:

1) Мы можем заменить все компоненты MFC на Qt без изменения среды сборки?

2) Qt будет работать с VC6 как любая другая библиотека?

Ваши ответы помогут мне начать. Тем временем я установил Qt 4 и пытаюсь собрать несколько примеров.

Ответы [ 4 ]

6 голосов
/ 09 ноября 2009

1) Если мы сможем заменить все компоненты MFC на QT, не меняя среду сборки?

Да, вы даже получаете инфраструктуру миграции MFC / Qt.

2) Будет ли Qt работать с VC6 как любая другая библиотека?

VC6 больше 10 лет!

Qt поддерживает VC6 до версии 4.5 В следующем выпуске (4.6) будет прекращена поддержка VC6 cf qt.nokia.com / doc / 4.6-snapshot / qt4-6-intro.html # performance-optimizations

2 голосов
/ 09 ноября 2009

Замена MFC на QT требует большой работы. Прежде всего вы должны подумать, нужно ли вам это. Во-вторых, Qt может быть интегрирован с Visual Studio.

2 голосов
/ 09 ноября 2009

Вы, вероятно, не должны использовать VC6 с Qt 4.5. ( см. Документ )

Кроме того: если ваш проект компилируется с Qt, вы можете легко * переключиться на компоненты Qt. В любом случае, Qt использует свои собственные компоненты, поэтому никаких других зависимостей не происходит.

Однако, чтобы настроить среду Qt, вам может потребоваться внести несколько изменений в вашу систему сборки, если вы не работаете с QObject s. (Подумайте о препроцессоре moc.)

*: легко в смысле возможности начать использовать компоненты Qt. Объем работы, необходимый для фактической миграции компонентов MFC на компоненты Qt, - это то, о чем я ничего не знаю.

1 голос
/ 10 ноября 2009

Я узнал кое-что очень полезное, пытаясь портировать приложение MFC одного клиента на Qt.

Я делаю лот рефакторинга. Это меня совсем не пугает. Тем не менее, я обычно постепенно меняю вещи. Это имеет огромное значение.

Я начал переносить приложение MFC на Qt сразу после того, как была выпущена версия Qt для LGPL, но до выпуска LGPL 'qtwinmigrate' (получите по адресу ftp: //ftp.qt .nokia.com / Qt / решения / LGPL / ). В то время я думал, что Qt собирается использовать миграцию MFC в качестве стимула для коммерческой лицензии.

Мне пришлось конвертировать большое количество файлов, прежде чем я смог скомпилировать проект. Как только все основы были запущены и запущены, я медленно переписывал диалоги, пока функциональность не соответствовала исходной версии. Это было гораздо сложнее , чем возможность поддерживать работающее приложение MFC как есть и медленно заменять диалоги.

Итак, дело в том ... ИСПОЛЬЗУЙТЕ QTWINMIGRATE!

О да ... и не используйте VC6. Обновление до чего-то более нового.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...