为C ++建立标准GUI库的缺点是什么?

时间:2013-07-12 12:20:21

标签: c++ user-interface standard-library nana

对于C ++中的GUI编程,我们可以选择太多的库,例如 Qt Gtkmm wxWidgets FLTK 还有另一个已存在:娜娜

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

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

库在C ++标准库中需要哪些条件? 如果没有定义条件,那么我们永远注定要陷入文本的黑洞中,它会伤害你的心脏!否则如果条件被定义,那么我在哪里可以请求库在下一个C ++标准?

2 个答案:

答案 0 :(得分:8)

Bjarne Stroustrup有already answered这个问题:

为什么C ++没有GUI?

  

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

答案 1 :(得分:4)

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

你应该说:

  

或在Windows或Linux下的GUI编程 在C ++中,我们可以选择   在太多的库之间,例如Qt,Gtkmm,wxWidgets,FLTK和   还有另一个已存在:娜娜。

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

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

  

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

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