![]() |
1
12
Qt 是目前基于C++的GUI工具包唯一的真正答案(至少对于完整的桌面应用程序来说)。即使对于纯粹的Windows应用程序,它也是值得的——它还与Visual Studio(get the vs addin)进行了出色的集成,并且有很好的文档记录。 WX有一些优点,一个是它与使用中的MFC非常相似,但是随着Qt的发展,LGPL WX的真正优势已经丧失了。 编辑 Qt小部件不是本机的,但是它们使用本机样式API,因此如果使用默认样式,它们与本机小部件是不可区分的。 |
![]() |
2
4
Windows窗体将使用C++/CLI工作得很好。Windows窗体也恰好是围绕win32句柄的包装。 与C +/Windows窗体相比,C/Windows窗体的性能没有差别。(它们的编译方式不同)就像你可以用C和VB.NET做同样的事情一样…… 如果您要查找停靠窗口,则有许多第三方库可以执行此操作。(有些是开源的,有些是可以购买的。)由于CLR,您可以直接包含用不同语言编写的程序集。 |
![]() |
3
3
MFC在当时还不错,但现在有点老了。一个很好的例子就是用更好的STL集合替换的集合。但是你问的是关于图形用户界面的东西。有一个wtl(Windows模板库),我认为它现在已经是开源的了。与MFC相比,它的占地面积要轻得多,但其设计工作方式是相同的——例如,大多数类具有相同的名称和方法名。 不利的是,我发现文档相对不足,而且它似乎无法与Visual Studio向导一起工作。不过,这可能是我的问题——让它和魔法师一起工作是非常重要的。 |
![]() |
4
2
我处于大致相同的位置:大型应用程序、本机代码、前端使用MFC。我看不出有什么真正令人信服的替代方案,也看不出有什么理由去改变。 尽管如此,让我提出一个意见。如果我正在做一个新的项目,它需要保存/继承大量的本地代码,我会考虑尝试用一个主要的本地(c++/CLI)主应用程序来做一个WPF前端。这是用Visual Studio 2010完成的,它主要是性能良好的,所以至少是可能的。WPF有一些UI好处,而且它可能更容易工作和测试(从自动化的角度),因为它是CLR代码。我不确定它是否值得投资和学习曲线,但对于具有大量本机代码的现代纯Windows应用程序,这是我考虑的另一种选择。 希望有帮助。 |
![]() |
5
2
提供其他答案中未提及的内容: 从它的声音来看,您需要本机控制的唯一原因是自动化软件。需要自动化软件工作的唯一原因是测试。我假设一些自动测试被用于确保软件按预期工作。 如果是这样的话,那么这里有一些事情需要考虑:在C/WPF领域中有一个相当流行的设计模式,称为模型视图视图模型。在这里不必过于详细,基本的想法是,您可以将实际的GUI控件(视图)与处理这些控件如何与应用程序中其余业务逻辑交互的代码分开。这段代码就是所谓的视图模型。除其他外,这也适用于这样的设计,即视图模型(以及应用程序的所有其余逻辑)可以通过典型的单元测试方法进行测试,而实际上不需要存在GUI控件。 因此,自动化软件的任何测试都可能被直接的单元测试代码所取代。 然而,我在这个领域的经验并没有我想的那么丰富。所以如果你考虑到这一点,我强烈建议进一步研究。作为一个开始,google术语如“model-view-viewmodel”和“mvvm”最终会产生一些关于该部分的更详细的讨论。 |
![]() |
6
1
我见过qt使用得相当广泛。我个人没有使用qt,但是我看到了很多关于它的问题,远远超过了wxwidgets或mfc。我先从这个开始。 |
![]() |
FranticFronk · Tkinter单选按钮在已选择时执行命令 6 月前 |
![]() |
Kumkuatte · 如何将UI元素对齐到Unity中的左侧位置 10 月前 |
![]() |
Calax · GUI不显示所有组件(C++) 11 月前 |
![]() |
trassert · python flet容器 11 月前 |
![]() |
Shady Abdulmunim · 喷气背包组合中的扫掠渐变圆形进度条 12 月前 |
![]() |
Jason Parmar · 伪OSS错误:校验和输入流计算器不支持标记 12 月前 |
![]() |
zadisk8 · 带有Q拆分器和多级选项卡的PyQt5 1 年前 |
![]() |
Patrick Visi · Zitadel日常创建服务用户 1 年前 |