C++ 没有.NET框架,GUI容易且快速?

C++ 没有.NET框架,GUI容易且快速?,c++,windows,user-interface,native,C++,Windows,User Interface,Native,有没有什么方法可以像在VisualStudio中那样快速、简单地构建图形界面,但没有.NET Framework?我正在寻找本机Windows GUI,因此使用不是一个选项(并且不需要跨平台)。使用C++的Windows API的东西将是巨大的() 我的意思是,像这样的应用程序的GUI完全是手工编写的吗 您不想使用Qt 您想使用WinAPI吗 自然的选择是。它基本上是围绕Win32 UI API的一个很薄的包装,但是VS有一个MFC UI设计器,它将为您节省大量的工作(无需手动设置控件的坐标等)

有没有什么方法可以像在VisualStudio中那样快速、简单地构建图形界面,但没有.NET Framework?我正在寻找本机Windows GUI,因此使用不是一个选项(并且不需要跨平台)。使用C++的Windows API的东西将是巨大的() 我的意思是,像这样的应用程序的GUI完全是手工编写的吗

  • 您不想使用Qt
  • 您想使用WinAPI吗

  • 自然的选择是。它基本上是围绕Win32 UI API的一个很薄的包装,但是VS有一个MFC UI设计器,它将为您节省大量的工作(无需手动设置控件的坐标等)。

    您也可以看看。

    如果您不喜欢Qt,总有Gtk(或Gtkmm),另一个很好的选择是使用VCL的C++Builder。这与WinForms(其设计灵感来源于WinForms)非常相似,在我看来比MFC更有效率。

    因为Qt和MFC都是本地操作系统函数的包装,用于管理windows和其他操作系统实用程序(在后台使用Win32 API,看起来完全是本地的)没有理由考虑MFC在QT上的使用,因为它不比QT更原生。要么你对“本地人”的定义被打破,要么你没有告诉我们整个故事

    但是有一千个理由认为Qt优于MFC,因为后者使用起来非常痛苦,而前者是一个设计简洁、易于使用且高度灵活的库(它尽一切可能争取诞生)

    您可能认为MFC更原生的唯一方式是它来自Microsoft(开发Windows的同一家公司)。但这并不意味着它更土生土长。它仍然是第三方图书馆。这个第三方与开发Win32 API的一方为同一家公司工作,但这并不意味着它与Win32 API的联系更紧密,因为两者都是独立开发的(当然是由不同的人开发的)


    除了MFC之外,您可能还想调查一下。

    我的投票仍然在Qt上

    我怀疑OP确实混淆了“本机”和“可部署在单个二进制文件中”。您也可以通过Qt by dependencies实现这一点。与普遍的看法相反,LGPL也不这么认为

    现在,如果OP正在寻找“可部署在单个超级小型二进制文件中”的utorrent样式,答案会有所不同。A看起来是个好地方。我想说的是,增加开发时间是要付出代价的


    但我不能同意Qt不像MFC那样原生。

    Windows上的Qt应用对我来说非常原生。使用Qt到底有什么问题?Qt是最好的GUI跨平台工具包之一,它的外观也几乎是本地的。WinSCP似乎在使用。它基本上是Delphi使用的C++版本。@ Tiago Sorry,但是Qt是它所固有的(它使用了引擎下的原生OS绘图和窗口例程)。MFC不会让您变得更自然,这是没有选择的。深入研究一下MFC,至少一个月后,你会回来问这样一个问题:相信我,是否有一些库使用起来不那么麻烦。@Tiago:这是“本机”的新定义。通常,它只是表示“不在.NET或JVM等虚拟机上运行”。但是如果你问的是“有没有一种方法,在不使用原始Win32 API以外的任何工具的情况下,比原始Win32 API更容易编写GUI”,那么答案应该是显而易见的。谢谢你,eran。这看起来像我所期望的。对于本机GUI,还有WTL作为轻量级MFC替代品。MFC不是本机的,因为它只是Win32 API的OO包装。至少这似乎是OP在排除Qt时对本机的定义。MFC不是“薄包装器”。它是一个完全接管您的应用程序的框架,并迫使您以一种特定的方式构造它。它也是基于20年前的技术,使用起来非常痛苦,我真的看不出它比第三方库“更原生”。除了OP是在追求“原生”的东西,不管这意味着什么,Qt GUI至少看起来像原生Windows GUI。GTK应用程序看起来像是被设计成在每个应用程序上都同样不合适OS@jalf有一些主题可以使GTK应用程序看起来是本地的。@EthanSteinberg是本地的(就像在本地实现的一样)还是仅仅看起来是本地的?@Ethan:当我看到它时,我会相信这一点。这不仅仅是改变一些东西的颜色和字体的问题(更不用说字体渲染了。你能让GTK应用程序使用Windows自己的字体渲染例程吗?GTK应用程序看起来很可怕),还有用户界面的行为、快捷键以及总体感觉和外观。