我只想知道标准 C++ 是否允许 GUI 编程?
这有2个方面:
- UI 小部件,如窗口、对话框、按钮等
- 画圆、矩形、样条等图形
我一直在为我的 UI 使用 Qt 并且没有看到有人只在 C++ 中做 GUI。
PS:我只关心 C++ 语言,我知道 Java 允许 GUI 编程!
更新:这里添加了一个新问题:如果 C++ 没有这样的功能,像 Qt 这样的框架如何创建 GUI?
我只想知道标准 C++ 是否允许 GUI 编程?
这有2个方面:
我一直在为我的 UI 使用 Qt 并且没有看到有人只在 C++ 中做 GUI。
PS:我只关心 C++ 语言,我知道 Java 允许 GUI 编程!
更新:这里添加了一个新问题:如果 C++ 没有这样的功能,像 Qt 这样的框架如何创建 GUI?
不,这是不可能的。C++ 适用于许多设备,其中一些设备根本不具备这种能力。
Qt 可以做到这一点,通常是因为运行它的操作系统确实提供了该功能。它通常作为一组 C 函数公开,这实际上意味着它们可以被 Qt 中的 C++ 代码调用。操作系统内部使用什么,谁知道呢。如今,它甚至可能将部分工作留给 GPU。
而在一些嵌入式系统上,Qt 只是获取一个指向屏幕内存的指针,然后自己完成所有的像素操作。当您必须与多个应用程序共享屏幕时,这不是一个解决方案,但对于单功能设备,它绝对可以工作。
不,C++ 标准中没有关于 GUI 的内容。
框架使用操作系统设施。标准 C++ - 没有。
不,它不包括在内。您可能想阅读语言创建者的解释:http: //www.stroustrup.com/bs_faq.html#gui
GUI 框架使用操作系统 API 或窗口管理器 API 提供的低级工具。
它允许它,从某种意义上说,它不会限制实现在选择时提供可用的 GUI 工具的能力。
该标准不需要提供可用的 GUI 环境——许多实现的运行时环境都没有可用的环境,因此没有强制性的标准接口。
也没有标准化的可选 GUI 界面。
标准 C++ 不禁止 GUI 编程(IOW,它允许),但同时它不为此提供任何标准库功能。这超出了语言及其标准库的范围,并且是特定于操作系统/平台的。
您可以直接在纯 C++ 中执行的唯一图形操作是ASCII art。:)