【问题标题】:How to integrate Qt into an existing application development workflow?如何将 Qt 集成到现有的应用程序开发工作流程中?
【发布时间】:2011-10-24 19:22:36
【问题描述】:

我已经使用 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,那么该过程是什么?把它放到上下文中,现有的应用程序有 1000 个用户可能想要使用的对话框,因此它们都存在于根据需要加载的 dll 中,并且对话框作为额外的下载,如果你愿意的话,一种插件,与主程序。

这可能遗漏了很多,所以请提出问题。

谢谢, 丹尼尔

【问题讨论】:

  • 澄清一下,我不是在寻找“答案”,而是在寻找现有资源的链接。如果你有“答案”,那就太好了,但我真的不希望......

标签: c++ visual-studio qt mfc


【解决方案1】:

获取VS plugin,它可以让 Qt 与 VS 无缝协作。

它将 ui 文件编译为类,然后您可以从代码中调用这些类。您还可以在 C 代码中编写对话框、菜单等。由于它使用 sizers 进行布局,因此没有很多 X-Y 坐标来管理放置每个组件。

虽然如果可以的话,我会采用一种大爆炸式的方法,用 Qt 主程序替换 MFC 主程序并将功能转移。 AFAIK MFC 对话框应该在 Qt 应用程序中运行良好。

【讨论】:

  • 该应用程序需要 30 多个人年的努力。到目前为止,完全重做不是一种选择,但我们希望能够实现它;-)
  • 我现在正在玩 VS 插件。你有关于这些东西的 Qt 文档的好链接吗?我已经经历了很多,但仍然觉得我没有我需要的东西。仍然只是在玩东西并希望找到“啊哈”点......
  • 非常有趣的问题。我也想知道答案。
  • 虽然我很喜欢在 Visual Studio 中工作,但我想知道幕后发生了什么。我去了所有地方的图书馆……;-),找到了两本书,其中涵盖了“幕后”的细节。这些书是:Daniel Molkentin 的“Qt 4:构建 Qt 应用程序的艺术”和 Johan Thelin 的“Qt 开发基础”。我会写一篇关于我的发现的博文,并在此处发布一个链接。
猜你喜欢
  • 2021-04-14
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 2017-04-16
相关资源
最近更新 更多