如何将Qt集成到现有应用程序开发工作流程中?

4

我已经开始使用Qt大约一周左右,目的是将Qt对话框集成到现有应用程序中。我已经弄清楚了如何从我的MFC应用程序中使用基本的Qt消息框,例如:

extern "C" __declspec(dllexport) bool showDialog( HWND parent )
{
    QWinWidget win( parent );
    win.showCentered();
    QMessageBox::about( &win, "About QtMfc", "QtMfc Version 1.0\nCopyright (C) 2003" );

    return TRUE;
}

我使用Qt Designer创建对话框。但我还没想明白如何将这些部件组合在一起。Qt Designer会生成一个.ui文件,我知道可以使用uic将其编译为.h文件,但其他部分(如.cpp文件)在哪里?此外,如果我想将Qt部分编译成一个dll,并根据需要加载,该怎么办?为了更好地理解,现有应用程序有数千个用户可能想要使用的对话框,因此它们都存储在dll中,按需加载,对话框作为附加下载提供,就像插件一样,与主程序分开。
这可能还有很多不足之处,请提出您的问题。
谢谢, Daniel

为了澄清,我不是在寻求答案,而是希望找到现有资源的链接。如果您有“答案”,那太棒了,但我并不完全期望得到答案... - dgbillotte
1个回答

1

获取VS插件,它可以使Qt与VS无缝协作。

它将ui文件编译成类,然后您可以从代码中调用它们。您还可以在C代码中编写对话框、菜单等。由于它使用大小器进行布局,因此没有太多的X-Y坐标需要管理以放置每个组件。

虽然如果可能的话,我会采用大爆炸的方法,用Qt主程序替换MFC主程序,并将功能移植过去。据我所知,MFC对话框应该可以在Qt应用程序中完美地工作。


该应用程序是一个耗费30多人年的努力。目前来说,完全重做不是一个选项,但我们希望能够达到那个水平。;-) - dgbillotte
我现在正在使用VS插件玩耍。你有关于这方面的Qt文档的好链接吗?我已经看了很多文档,但仍然感觉不够。我还在试验中,希望找到那个“顿悟”的点... - dgbillotte
非常有趣的问题。我也想知道答案。 - Michael IV
虽然我喜欢在Visual Studio中工作,但我也想知道底层发生了什么。我去了图书馆(哈哈),找到了两本涵盖这些“底层”细节的书籍。这些书是:Daniel Molkentin的《Qt 4:构建Qt应用程序的艺术》和Johan Thelin的《Qt开发基础》。我会在博客中发布我的发现,并在此处发布链接。 - dgbillotte

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接