用C++创建WinAPI GUI应用程序的现代原生方式

B.G*_*ill 22 c++ user-interface winapi native

首先,我知道这是一个常见的问题,但我找不到我想要的确切答案.

我使用Swing在Java中完成了很多项目.从编写GUI开始,然后转移到GUI设计器.事实证明,这是构建GUI应用程序的一种非常快速简便的方法.

但现在,我需要转向C++.我正在开始一个使用大量硬件资源的项目(DirectX,OpenCV等......)我知道有这些技术的Java库.但是,考虑到这个项目的内部,C++绝对是正确的方法.

我从MCU编程中很好地了解C和C++语言.另外,我已经阅读了许多关于本机WinAPI编程,Windows内部等的文章.我认为我有足够的知识可以开始.我不想担心GUI设计,但它必须看起来合适.

我知道有几个基本选项:纯WinAPI,MFC,WTL,Qt ......如果有某种GUI设计工具我会很高兴,但是从我的研究来看,没有.有一个MFC向导,它有助于创建一个基本窗口,但它不是一个设计师.我找到的最接近的是Qt.但是从我读到的内容来看,它并没有使用WinAPI进行绘图,因为将来Qt编写的应用程序的外观和感觉可能与本机Windows外观不同.

那么,总而言之,如果您有使用GUI创建本机Windows C++应用程序的经验,您会向我推荐什么?具体来说,我错过了任何工具或设计师吗?

(我使用的是Visual Studio 2010专业版,因为我有免费的DreamSpark项目)

Cou*_*sen 9

我最近使用过Qt4,对API非常满意.我发现它很简单,文档齐全,代码非常简洁.

Qt的做仿真目标OS的外观和感觉的一个非常好的工作(如硅@In在评论中指出,Qt的实际借鉴一切本身并没有使用原有成分)通过GUI无论如何,这可以通过手工或视觉编码编辑器在他们的IDE中,Qt Creator.如果你走这条路,我建议在.pro那里创建你的初始GUI项目(文件),然后通过Qt Visual Studio Add-In将它导入Visual Studio .

插槽和信号,Qt的事件/消息系统,也值得一提.是的,它对GUI编程至关重要,但在低级代码中也非常有用.

我希望Qt在您的项目中能够很好地工作,但是一如既往,创建一些简单的测试以确保技术可以合作.