我目前正在评估移植现有非托管C ++代码库以使用新GUI工具包的选项。 QT和wxWidgets看起来都很合适,因为它们具有强大的对象模型。该应用程序仅针对Windows机器,但是平台无关的解决方案可能很好。
将来可能需要将此代码转换为限制为单线程单元(STA)的DLL。对于这些工具包中的任何一个,这是一个不可避免的问题吗?我还应该考虑其他任何工具包吗?
我知道DLL将由充当多线程单元(MTA)的应用程序加载。不幸的是,这个应用程序也可能正在加载其他可能有自己的GUI的DLL,这些GUI可能使用不受我控制的其他或类似的工具包。这些工具包中的任何一个是否更适合这些限制?我从其他帖子中了解starting a QT GUI from a DLL是可能的,但不是很灵活。但是,我不知道wxWidgets是否也是如此,或者STA限制是否对任何工具包都有影响。
答案 0 :(得分:2)
wxWidgets并不关心它所装入的公寓。它使用的唯一COM接口是shell接口(例如IFileDialog
),它应该适用于任何公寓。因此,我无法想象因此而遇到任何新问题。但也许我只是没有足够的想象力,当然......