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。我先从这个开始。 |
Community wiki · 需要改变的用户界面模式? 1 年前 |
LITzman · 使用状态处理颜色主题更改 1 年前 |
Community wiki · 进程。退出(0):输出消失? 1 年前 |
arsaces · 将文本添加到特定文件的末尾 2 年前 |
YGranja · 库<图形。h> MinGW-W64缺少 2 年前 |
Felipe Palermo · Ctrl键仍被按下,按键事件() 2 年前 |
HCJ · win cmd中的批处理脚本循环 2 年前 |