#c #visual-studio #qt #mfc
#c #visual-studio #qt #mfc
Вопрос:
Я играл с Qt в течение недели или около того, с целью интеграции диалоговых окон Qt в существующее приложение. Я понял, что использую базовое окно сообщения Qt из моего приложения MFC, например:
extern "C" __declspec(dllexport) bool showDialog( HWND parent )
{
QWinWidget win( parent );
win.showCentered();
QMessageBox::about( amp;win, "About QtMfc", "QtMfc Version 1.0nCopyright (C) 2003" );
return TRUE;
}
Я использовал Qt Designer для создания диалоговых окон. Чего я не понял, так это как объединить все эти части. Qt Designer оставляет мне файл .ui. Я видел, что могу использовать uic для компиляции в файл .h, но где другие части, например, файлы .cpp? Кроме того, если я хочу скомпилировать части Qt в dll, которые загружаются по требованию, каков процесс для этого? Чтобы представить это в контексте, существующее приложение имеет 1000 диалоговых окон, которые пользователь может захотеть использовать, следовательно, все они находятся в dll, которые загружаются по мере необходимости, а диалоговые окна загружаются в виде дополнительных загрузок, своего рода плагинов, если хотите, отдельно от основной программы.
Вероятно, здесь многого не хватает, поэтому, пожалуйста, задавайте вопросы.
спасибо, Дэниел
Комментарии:
1. чтобы уточнить, я ищу не столько «ответ», сколько ссылки на существующие ресурсы для этого. Если у вас есть «ответ», это здорово, но я этого не ожидаю…
Ответ №1:
Получите плагин VS, он позволяет Qt без проблем работать с VS.
Он преобразует файлы пользовательского интерфейса в классы, которые затем вызываются из вашего кода. Вы также можете писать диалоги, меню и т. Д. В своем C-коде. Поскольку он использует сайзеры для компоновки, не так много координат X-Y для размещения каждого компонента.
Хотя, если вы можете, я бы предпочел подход большого взрыва, заменив MFC main на Qt main и перенеся функциональность. Диалоговые окна AFAIK MFC должны отлично работать в приложении Qt.
Комментарии:
1. приложение требует более 30 человеко-лет усилий. На данный момент полный повтор невозможен, но мы надеемся получить его там 😉
2. Сейчас я играю с плагином VS. У вас есть какие-нибудь хорошие ссылки на документы Qt по этому вопросу? Я прошел через многие из них и все еще не чувствую, что у меня есть то, что мне нужно. Все еще просто играю с материалом и надеюсь найти точку «ах-ха»…
3. Очень интересная проблема. Я также хотел бы знать ответ.
4. хотя мне нравится работать в Visual Studio, мне нравится знать, что происходит под обложками. Из всех мест я пошел в библиотеку… ;-), и нашел две книги, которые охватывают эти детали «под обложками». Эти книги: «Qt 4: искусство создания приложений Qt» Даниэля Молкентина и «Основы разработки Qt» Йохана Телина. Я сделаю сообщение в блоге о своих выводах и опубликую ссылку на него здесь.