5

对于 C++ 中的 GUI 编程,我们可以在太多的库中进行选择,例如QtGtkmmwxWidgetsFLTK,还有一个已经存在:Nana

Nana C++ 库使用现代 C++ (C++11) 语言功能,例如 lambda、模板等,并且似乎与 C++ 标准库兼容。

如果 GUI 库与 C++ 标准库 100% 兼容,那么为什么我们不能将它用于下一个 C++ 标准(C++14 或 C++17)?

一个库在 C++ 标准库中的必要条件是什么?如果条件不明确,那我们就注定永远在文字的黑洞里,会伤到你的心!否则,如果定义了条件,那么我在哪里可以请求库符合下一个 C++ 标准?

4

2 回答 2

8

Bjarne Stroustrup已经回答了这个问题:

为什么 C++ 没有 GUI?

C++ 有许多商业和开源 GUI(例如 Gtkmm、SmartWin++、V C++ GUI、FLTK 和 Qt)。特别是,每个平台供应商都提供了一个 C++ 库来访问他们的 GUI。问题是它没有标准的 GUI,这确实是一个主要问题。请注意,提供 GUI 既是技术问题,也是政治问题。有很多 GUI 有很多用户,通常他们不希望其他一些 GUI 被宣布为标准。无论如何,标准委员会没有资源来构建一个新的更好的 GUI。

于 2013-07-12T12:34:25.373 回答
4

你会如何在心脏起搏器上画一个按钮?

你应该说:

或者在 Windows 或 Linux 下使用 C++ 进行GUI 编程,我们可以在太多的库中进行选择,例如 Qt、Gtkmm、wxWidgets、FLTK,还有一个已经存在的库:Nana。

C++ 与操作系统无关。想象一下在一个根本没有 gui 的平台上如何支持这样的库。就像一个微控制器,或者一些嵌入式硬件。

永远不要说永远,但我永远不会期望像您提到的那样的 GUI 库会被添加到 C++ 标准中。

如果 GUI 库与 C++ 标准库 100% 兼容,那么为什么我们不能将它用于下一个 C++ 标准(C++14 或 C++17)?

因为这些 GUI 库还使用特定于平台和操作系统的功能来完成它们的工作。

于 2013-07-12T12:23:33.350 回答