9

我只想知道标准 C++ 是否允许 GUI 编程?

这有2个方面:

  1. UI 小部件,如窗口、对话框、按钮等
  2. 画圆、矩形、样条等图形

我一直在为我的 UI 使用 Qt 并且没有看到有人只在 C++ 中做 GUI。

PS:我只关心 C++ 语言,我知道 Java 允许 GUI 编程!

更新:这里添加了一个新问题:如果 C++ 没有这样的功能,像 Qt 这样的框架如何创建 GUI?

4

5 回答 5

7

不,这是不可能的。C++ 适用于许多设备,其中一些设备根本不具备这种能力。

Qt 可以做到这一点,通常是因为运行它的操作系统确实提供了该功能。它通常作为一组 C 函数公开,这实际上意味着它们可以被 Qt 中的 C++ 代码调用。操作系统内部使用什么,谁知道呢。如今,它甚至可能将部分工作留给 GPU。

而在一些嵌入式系统上,Qt 只是获取一个指向屏幕内存的指针,然后自己完成所有的像素操作。当您必须与多个应用程序共享屏幕时,这不是一个解决方案,但对于单功能设备,它绝对可以工作。

于 2013-03-25T09:05:29.410 回答
4

不,C++ 标准中没有关于 GUI 的内容。

框架使用操作系统设施。标准 C++ - 没有。

于 2013-03-25T09:05:12.757 回答
3

不,它不包括在内。您可能想阅读语言创建者的解释:http: //www.stroustrup.com/bs_faq.html#gui

GUI 框架使用操作系统 API 或窗口管理器 API 提供的低级工具。

于 2013-03-25T09:12:24.603 回答
2

它允许它,从某种意义上说,它不会限制实现在选择时提供可用的 GUI 工具的能力。

该标准不需要提供可用的 GUI 环境——许多实现的运行时环境都没有可用的环境,因此没有强制性的标准接口。

也没有标准化的可选 GUI 界面。

于 2013-03-25T09:08:32.033 回答
1

标准 C++ 不禁止 GUI 编程(IOW,它允许),但同时它不为此提供任何标准库功能。这超出了语言及其标准库的范围,并且是特定于操作系统/平台的。

您可以直接在纯 C++ 中执行的唯一图形操作是ASCII art。:)

于 2013-03-25T09:08:11.017 回答