Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Интеграция Qt в устаревшие приложения MFC
В настоящее время мы поддерживаем набор MFC приложений, которые довольно хорошо разработаны, однако пользовательский интерфейс начинает выглядеть усталым, и большая часть кода нуждается в довольно небольшом рефакторинге, чтобы устранить некоторые проблемы с дублированием и/или производительностью. Мы используем довольно много пользовательских элементов управления, которые обрабатывают все свои собственные чертежи (все написанные с использованием MFC).
В последнее время я все больше исследую Qt и преимущества, которые он предоставляет (кросс-платформенный и поддерживает то, что вы могли бы назвать более ориентированной на "professional" платформой для разработки UI).
Мой вопрос заключается в следующем: каков был бы наилучший подход к возможному переходу на фреймворк Qt ? Разве Qt хорошо играет с MFC? Может быть, лучше начать переносить некоторые из наших пользовательских элементов управления на Qt и постепенно интегрировать все больше и больше в наши существующие приложения MFC? (возможно ли это?).
Любой совет или предыдущий опыт ценится.
В моей компании мы в настоящее время используем Qt и очень довольны этим.
Лично мне никогда не приходилось перемещать MFC-приложение в использование фреймворка Qt, но вот что может вас заинтересовать :
Это часть Qt-Solutions, поэтому вам придется купить лицензию Qt вместе с лицензией Qt-Solutions. (правка: больше нет )
Надеюсь, это поможет !
(На самом деле это не ответ на ваши конкретные вопросы, но...) Я лично не использовал Qt, но это не бесплатно для коммерческой разработки Windows.
Вы смотрели на wxWindows , который является бесплатным? Хорошая статья здесь . Просто в качестве отступления, если вы хотите иметь единую кодовую базу для всех платформ, то вам, возможно, придется перейти от MFC - я почти уверен (кто-то исправит, если ошибется), что MFC нацелен только на Windows.
Еще один вариант-посмотреть на обновление пакета функций до MFC в SP1 версии VS2008 - он включает доступ к новым элементам управления,включая элементы управления лентой Office style.
Это сложная проблема, и я подозреваю, что ответ зависит от того, сколько времени у вас есть. Вы получите гораздо лучший результат, если перенесете свои пользовательские элементы управления в Qt - если вы используете классы QStyle для выполнения фактического рисования, то вы получите тематический код прямо из коробки.
В общем, мой совет был бы таков: укусить пулю и пройти весь путь сразу. Конечно, это может занять больше времени, но альтернатива-потратить целую вечность, пытаясь отладить код, который не совсем играет в мяч, и в конечном итоге написать больше кода, чтобы справиться с незначительными несовместимостями между двумя системами (были там, сделали это).
Итак, подводя итог, мой совет-запустить ветку, вырвать весь ваш старый код MFC и заменить его на Qt. Вы получите независимость от платформы (почти) бесплатно, и хотя это займет некоторое время, в конце концов вы получите гораздо более приятный продукт.
Последнее предупреждение: убедитесь, что вы нашли время, чтобы понять "Qt way of doing things" - в некоторых случаях это может быть совсем другой подход к MFC - последнее, что вы хотите сделать, это получить код MFC-style Qt.
Я уже руководил командой, занимающейся подобными вещами (не MFC - QT, но принципы должны работать).
Сначала мы задокументировали диалоги и их входы, элементы управления и выходы. Кроме того, мы создаем несколько тестовых случаев специально для любой умной логики внутри GUI.
Иногда нам приходилось рефакторировать некоторую бизнес-логику, чтобы обеспечить чистый интерфейс GUIs, но именно так это и должно было быть сделано в первую очередь tbh.
Теперь у нас был список GUIs, входов, выходов, тестов и интерфейса, которому должен был соответствовать инкапсулированный GUI.
Мы начали, проект за проектом, создавать эквивилантные GUIs к старым. Как только мы это сделаем, мы сможем вставить GUI туда, где был старый, восстановить и протестировать его. Сначала мы много спотыкались, но вскоре разобрались с распространенными ошибками и исправили их. Мы провели (я думаю) 612 диалогов, хотя над этим работала команда из примерно дюжины человек.