wxwidgets - 为什么 wxWidgets 需要其他 GUI 库,例如 GTK 或 Motif?

标签 wxwidgets

我在 linux 或 FreeBSD 上构建 wxWidgets 库时注意到 wxWidgets 需要其他 GUI 库,例如 GTK+、Motif 等,而 GTK+、Motif 或 FLTK 库似乎是独立的,因为它们不需要任何其他 GUI 库。

虽然这些库需要 xlib,但我们不必对 xlib 做任何事情。

我不明白。

最佳答案

wxWidgets 尽最大努力保持操作系统的外观和感觉(阅读:外观和行为)。例如,在 Windows 上,wxWidgets 使用 Windows 提供的控件。 Apple OSX 也一样。这就是“本土”一词的意义所在。

在 Linux 上有几个“桌面”(提供控件):GTK+、KDE ​​等。wxWidgets 仅使用 GTK+(不再使用旧的 Motif),因此 GTK+ 提供“ native ”控件。 请注意,桌面使用底层 Xlib 或 Wayland。

当某些控件在平台中不可用时(例如“数据 View ”),wxWidgets 将使用它自己的通用控件。此通用控件通常由原生控件组合而成,因此外观和感觉得以保留。

相反的是 Qt,它只使用操作系统非常“深入和基本”的功能,例如绘图。这样,控件的外观在所有平台上都是相同的。

关于wxwidgets - 为什么 wxWidgets 需要其他 GUI 库,例如 GTK 或 Motif?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56516845/

相关文章:

browser - 使用 XULRunner 的嵌入式浏览器

c++ - wxWidgets 应用程序中的重叠 IO

c++ - 为已知类型扩展 wxAny [wxWidgets]

c++ - 如何在子对话框中获取 wxFrame 指针

c++ - 如何动态地重新创建带有可变数量的项目的wxMenu(子菜单)?

c++ - 尝试使用 EnableCheckBoxes() 时 wxWidgets 出现问题,可能是 CMake 错误

makefile - 警告 : makefile. 似乎忽略了 --datarootdir 设置

C++ 在调试版本中抑制断言

c++ - 配置 Eclipse CDT 以使用 wxWidgets

linux - 在 Linux 上使用 wxWidgets 将图像与二进制文件捆绑在一起