【问题标题】:Can I run a QT or wxWidgets GUI from a STA dll?我可以从 STA dll 运行 QT 或 wxWidgets GUI 吗?
【发布时间】:2015-06-17 09:26:29
【问题描述】:

我目前正在评估移植现有非托管 C++ 代码库以使用新 GUI 工具包的选项。 QT 和 wxWidgets 看起来都很合适,因为它们具有强大的对象模型。该应用程序仅针对 Windows 机器,但最好有一个独立于平台的解决方案。

将来可能需要将此代码转换为仅限于单线程单元 (STA) 的 DLL。对于这些工具包中的任何一个来说,这是一个无法避免的问题吗?还有其他我应该考虑的工具包吗?

我知道 DLL 将由充当多线程单元 (MTA) 的应用程序加载。不幸的是,这个应用程序还可能加载其他可能有自己的 GUI 的 DLL,这些 DLL 可能正在使用不受我控制的其他或类似的工具包。这些工具包是否更适合这些限制?我从其他帖子中了解到starting a QT GUI from a DLL 是可能的,但不是很灵活。但是,我不知道 wxWidgets 是否也是如此,或者 STA 限制是否对任何一个工具包都有影响。

【问题讨论】:

    标签: c++ qt dll wxwidgets sta


    【解决方案1】:

    wxWidgets 并不关心它加载到的公寓。它使用的唯一 COM 接口是 shell 接口(例如IFileDialog),它可以在任何公寓中使用。因此,我无法想象因此会出现任何新问题。但也许我只是没有足够好的想象力,当然……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      相关资源
      最近更新 更多