我用Qt / C ++开发了一个应用程序给客户端。 最近他们回到我身边,问我是否可以在没有Qt的情况下重新执行整个事情。 所以我正在寻找替代Qt工具包。 我需要的是好的ActiveX处理,因为原来的软件依赖于我打算再次使用的特定的ActiveX控件。 我想坚持使用C ++(无.NET)。
有什么build议么? 我正在看MFC相比Qt有点“meh”。
提前致谢。
MFC, WTL和wxWidgets是Windows上C ++ GUI工具包的三个主要选择。
我并没有多少责怪客户解雇Qt。 我也拒绝将它用于我的任何项目。 它无法复制本地控件和小部件是一个真正的问题; 在Windows上看起来大部分是可以接受的,但是在Mac OS X上,一切都完全分崩离析。如果不是真正(或者有用的)跨平台的话,使用“跨平台GUI库”似乎没什么意义。
我喜欢 MFC。 显然这是一个不受欢迎的观点,但是大多数不喜欢MFC的人都是不懂Windows API的人。 这是一个非常薄的抽象层,但与直接在Win32级别上执行所有操作相比,这是一个非常有用的抽象层。 如果你打算使用它,我可以推荐的最好的事情是变得彻底熟悉Win32 API。 类似的建议适用于WTL和wxWidgets。 当然,好处是您的应用程序的外观和感觉会像本地应用程序一样。 这样的客户; 它最大限度地减少意外的行为,并帮助他们更容易学习新的程序
MFC的最大缺点是它是一个相当庞大的库,它为你的代码增加了一个相当大的依赖。 当然,可笑的是,相比于Qt的庞然大物,如果与直接的WinAPI代码相比则显着。 WTL是一个很好的选择,如果这是一个问题。 这是一个Win32 API的更轻的封装,提供了MFC的许多优点(任何人都可以说CString
?),没有大部分的cruft和bulk。 如果您不知道底层API,那么再次使用会很痛苦,因为它甚至不打算成为一个完整的抽象,但这就是帮助保持轻量级的原因。 不幸的是,在另一种意义上说它也很轻:文档。 总之,没有什么,所以不要浪费很多时间看。 对于我来说,这使得MFC处于领先地位,因为它有很好的文档记录,不仅是微软,还有其他人通过网上很容易找到的示例代码。
与Qt相比,如果不知道你认为MFC是什么“meh”,就很难提供更好的建议。 .NET框架不是那么“meh”; 它有很多聪明的功能,但也有很多弊端,
我建议WTL 。 我已经将它用于许多仅限Windows的项目,并且不能足够高地推荐它。 如果你以前从来没有做过任何ATL / MFC的东西,那么这可能会是一个陡峭的学习曲线(它与MFC相当类似)。
Borland C ++ builder非常棒。 真。 尝试找到其继任者。
看看这里: 用于Windows的好的C ++ GUI库
那么,Qt的逻辑c ++替代品就是wxWidgets 。 它有一个ActiveX模块
通过Visual Studio 2010使用MFC非常简单。 你有快捷按钮,你想添加每个选项,消息等。此外,你可以现场设计的应用程序(通过直接点击设计和添加按钮点击功能等代码)。 这是我用于我的应用程序。 另外,您可以在MSDN论坛上找到大量文档。
++ wxWidgets
我唯一的抱怨是控制界面上的一些方法从控制到控制不一致。