c++ - 我可以在不使用其 UI 框架的情况下将 Qt 用作 C++ 库吗

标签 c++ qt mfc

在不实际使用 Qt 用户界面系统的情况下,使用 Qt 来提高 MFC 应用程序的生产力是否有意义?

我目前正在为基于 MFC 的应用程序寻找一个很好的生产力库,其中包含有用的容器类、字符串算法、线程类、I/O 类等。在我看来,Qt API 非常好。但是,由于我不想将我的 UI 切换到 Qt(太费力),我想知道 Qt 是否可以在没有任何 Qt UI 的 MFC 应用程序中很好地使用。

提前感谢您的意见。

法比安

最佳答案

Qt 分为几个模块(QtGui 是其中之一)。您可以通过仅链接到您需要的库来手动选择您的应用程序使用哪些模块。

我无法回答 Qt 是否可以与 MFC 互操作。但至少,QString 提供了到 std::string 和 char*/wchar 的转换,这应该对您有很大帮助。

Qt 文档提供了一个 overview在模块上。

正如丹尼尔在下面指出的,您必须了解事件循环。但是,可以在没有 GUI 模块的情况下使用事件循环。您可以调用processEvents在 QCoreApplication 上处理所有排队的事件然后返回。延迟删除有一个警告,但文档描述了解决方法。

关于c++ - 我可以在不使用其 UI 框架的情况下将 Qt 用作 C++ 库吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1962103/

相关文章:

c++ - -static-libasan 的 undefined symbol 错误

C++ 模板特化

c++ - 通过常量引用返回在堆上创建的对象

c++ - GTK+ 与任何程序

C++/Qt - QThread 与 QRunnable

c++ - 服务器端的 WebSockets 握手回复,草稿 00

c++ - 在 Windows 中的顶部 Qt 应用程序

c++ - 如何将控制类划分为实现与公共(public)接口(interface)?

c++ - 在 C++ 中使用托管 COM 对象

c++ - FindConnectionPoint 返回 E_NOINTERFACE