Зачем wxWidgets нужны другие библиотеки GUI, такие как GTK или Motif? - PullRequest
1 голос
/ 09 июня 2019

Я заметил, что при создании библиотеки wxWidgets на linux или FreeBSD для wxWidgets требуются другие библиотеки GUI, такие как GTK +, Motif и т. Д., В то время как библиотеки GTK +, Motif или FLTK кажутся независимыми, поскольку им не нужны никакие другие библиотеки GUI.

Хотя этим библиотекам нужен xlib, но нам ничего не нужно делать с xlib.

Я не понимаю этого.

1 Ответ

5 голосов
/ 10 июня 2019

wxWidgets делает все возможное, чтобы сохранить внешний вид ОС (читай: внешний вид и поведение).Например, в Windows wxWidgets использует элементы управления, которые предоставляет Windows.То же самое для Apple OSX.Здесь слово «нативный» имеет смысл.

В Linux есть несколько «рабочих столов» (которые предоставляют элементы управления): GTK +, KDE и т. Д. WxWidgets использует только GTK + (старый Motif больше не используется), и поэтому GTK + предоставляет «родные» элементы управления.Обратите внимание, что настольные компьютеры используют подложку Xlib или Wayland.

Когда какой-либо элемент управления недоступен на платформе (например, «просмотр данных»), тогда wxWidgets использует свой собственный, общий элемент управления.Этот универсальный элемент управления обычно состоит из компоновки собственных элементов управления, поэтому внешний вид сохраняется.

Противоположностью является Qt, который использует только очень «глубокие и базовые» функции ОС, такие как рисование.Таким образом, внешний вид элементов управления одинаков на всех платформах.

...