Jump to content

wxWidgets

wxWidgets
Оригинальный автор(ы) Джулиан Смарт [1] [2] [3]
Разработчик(и) Различные разработчики и участники [4]
Первоначальный выпуск 1992 год ; 32 года назад ( 1992 ) [5]
Стабильная версия 3.2.4 (11 ноября 2023 г .; 8 месяцев назад ( 11.11.2023 ) [6] ) [±]
Репозиторий
Написано в С++
Операционная система Кросс-платформенный
Тип разработки Библиотека
Лицензия Лицензия wxWidgets
Веб-сайт wxвиджеты .org

wxWidgets (ранее wxWindows ) — это набор инструментов и библиотека инструментов виджетов для создания графических пользовательских интерфейсов (GUI) для кроссплатформенных приложений. wxWidgets позволяет компилировать и запускать код графического интерфейса программы на нескольких компьютерных платформах без существенных изменений кода . Широкий выбор компиляторов и других инструментов для использования с wxWidgets облегчает разработку сложных приложений. [7] wxWidgets поддерживает широкий спектр популярных операционных систем и графических библиотек, как собственных , так и бесплатных .

Проект был начат под названием wxWindows в 1992 году Джулианом Смартом из Эдинбургского университета . [1] Проект был переименован в wxWidgets в 2004 году в ответ на претензию Microsoft UK на регистрацию товарного знака .

Это бесплатное , программное обеспечение с открытым исходным кодом распространяемое на условиях лицензии wxWidgets , которая удовлетворяет требованиям тех, кто желает производить программное обеспечение под лицензией GPL и несвободное программное обеспечение . [8]

Переносимость и развертывание

[ редактировать ]

wxWidgets охватывает такие системы, как Microsoft Windows , Mac OS ( Carbon и Cocoa ), iOS ( Cocoa Touch ), Linux / Unix ( X11 , Motif и GTK ), OpenVMS , OS/2 и AmigaOS . Версия для встраиваемых систем находится в разработке. [9]

wxWidgets используется в различных отраслях промышленности, в первую очередь Xerox , Advanced Micro Devices (AMD), Lockheed Martin , NASA и Центром военно-морского анализа . Его также используют в государственном секторе и образовании, например, Дартмутская медицинская школа , Национальный институт исследования генома человека , Национальный центр биотехнологической информации и многие другие. [7] wxWidgets используется во многих проектах с открытым исходным кодом, [10] и отдельными разработчиками.

wxWidgets (изначально wxWindows; «w» — для Windows , а «x» — для X Window System ) [11] была основана в 1992 году Джулианом Смартом в Эдинбургском университете . [1] Он получил степень с отличием в области вычислительной техники в Университете Сент-Эндрюс в 1986 году и до сих пор является основным разработчиком. [2]

20 февраля 2004 года разработчики wxWindows объявили, что проект меняет свое название на wxWidgets в результате того, что Microsoft попросила Джулиана Смарта уважать Microsoft в Соединенном Королевстве торговую марку с термином Windows . [12]

Основные версии выпуска: 2.4 от 6 января 2003 г., 2.6 от 21 апреля 2005 г. и 2.8.0 от 14 декабря 2006 г. Версия 3.0 была выпущена 11 ноября 2013 г.

wxWidgets участвует в Google Summer of Code с 2006 года. [13] [14]

В следующей таблице представлена ​​история выпусков wxWidgets, показывающая все основные версии.

Номер версии Дата Заметные изменения
Проект начат Джулианом Смартом 1992 [15]
wxWindows 1
Альфа 1 5 апреля 1997 г. [16]
Бета 1 24 декабря 1998 г. [16]
wxWidgets 2
2.0.1 1 марта 1999 г. [16]
2.2.0 9 июля 2000 г. [17]
2.4.0 6 января 2003 г. [17]
2.6.0 21 апреля 2005 г. [17]
2.8.0 14 декабря 2006 г. [18]
  • библиотека wxAUI.
  • Общий wxRichTextCtrl.
  • wxComboCtrl с пользовательскими графическими списками.
  • Дополнительные функциональные возможности, включая wxAnimationCtrl, wxSimpleHtmlListBox, wxHyperlinkCtrl, wxColourPickerCtrl, wxDirPickerCtrl, wxFilePickerCtrl, wxFontPickerCtrl, wxCollapsiblePane, wxSearchCtrl, wxAboutBox, wxTreebook, потоки tar.
2.8.11 23 апреля 2010 г.
2.8.12 28 марта 2011 г.
2.9.0 8 сентября 2009 г.
2.9.1 19 июля 2010 г.
2.9.2 5 июля 2011 г.
2.9.3 14 декабря 2011 г.
2.9.4 9 июля 2012 г.
2.9.5 16 июля 2013 г.
wxWidgets 3
3.0.0 11 ноября 2013 г. [16]
  • GTK+ 3 порта
  • Прозрачная поддержка Unicode
  • Унификация отладочно-релизных сборок
  • Порт wxOSX на основе какао, работающий в 64-битном режиме
  • Персистентконтролс
  • Поддержка модальных оконных и модальных диалогов приложения.
  • wxRibbon — ленты реализация
  • wxPropertyGrid
3.0.1 15 июня 2014 г.
3.0.2 6 октября 2014 г.
3.0.3 2 мая 2017 г.
3.0.4 8 марта 2018 г.
3.0.5 27 апреля 2020 г.
3.1.0 29 февраля 2016 г.
  • Улучшена поддержка дисплеев с высоким разрешением, особенно в Windows.
  • Поддержка новейших компиляторов, включая MSVS 2015, g++ 5.3 и clang 3.8, в том числе в режиме C++11.
  • Обновленная поддержка OpenGL, лучше подходящая для современного OpenGL (3.2+).
  • Новые классы wxActivityIndicator и wxNativeWindow.
  • Улучшения в wxNotificationMessage.
  • Несколько новых методов, таких как wxTextEntry::ForceUpper(), wxProcess::Activate(), wxDateTime::GetWeekBasedYear(), wxListBox::GetTopItem(), wxStandardPaths::GetUserDir(), wxUIActionSimulator::Select().
  • Обновленные версии встроенных сторонних библиотек и поддержка GStreamer 1.0 под Unix.
  • Новый экспериментальный порт wxQt.
  • Исправления ошибок.
3.1.1 19 февраля 2018 г. [19]
  • wxWidgets 3.1.1 — второй выпуск в ветке разработки 3.1. Этот выпуск является «разработочным», поскольку в нем внесены (очень немногие) несовместимые изменения API по сравнению с версией 3.0 и не гарантируется стабильность ABI, в отличие от серии 3.0.x. [19]
3.1.2 10 декабря 2018 г.
  • Начальная поддержка macOS 10.14 и ее темного режима.
  • Поддержка нецелочисленных размеров шрифтов и произвольной толщины шрифтов.
  • Новые классы wxLZMA{Input,Output}Stream.
  • Добавьте wxDataViewToggleRenderer::ShowAsRadio(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxToolbook::EnablePage().
3.1.3 28 октября 2019 г.
  • Поддержка изменения DPI для каждого монитора и динамического изменения DPI в MSW.
  • В целом, множество исправлений для различных элементов управления, отображаемых при высоком разрешении.
  • Давно просили поддержку для замораживания строк и/или столбцов в wxGrid.
  • Новые обработчики XRC для wxDataViewCtrl, wxInfoBar.
  • Теперь можно использовать градиенты при создании wxGraphicsPen.
  • Расширенная поддержка компилятора (MSVS 2019) и платформ (macOS 10.14+).
  • Значительные улучшения в порте wxQt (все еще экспериментальном).
  • Важные исправления ошибок при обработке фокуса в порту wxOSX.
3.1.4 22 июля 2020 г.
  • Порт wxOSX теперь поддерживает последнюю версию macOS 11 на оборудовании ARM.
  • wxMSW поставляется с новой реализацией wxWebView на базе Edge.
  • Лучшая, хотя и не идеальная, поддержка DPI для каждого монитора в wxMSW.
  • wxGrid был значительно улучшен и теперь стал намного удобнее для пользователя.
  • Улучшения внешнего вида AUI для нестандартных тем GTK и темного режима macOS.
  • wxWidgets теперь можно собирать с помощью компилятора C++20.
  • Улучшения в системе сборки CMake.
  • Разрешить опциональный запрет опасных неявных преобразований wxString.
3.1.5 14 апреля 2021 г.
  • Новый wxWebRequest и связанные с ним классы предоставляют простой способ использования HTTPS и HTTP/2 из приложений wxWidgets с использованием собственных библиотек или libcurl.
  • Поддержка EGL в wxGLCanvas и Wayland в wxMediaCtrl под Linux.
  • Множество исправлений внешнего вида и других исправлений для macOS 11.
  • Дополнительные улучшения пользовательского интерфейса, API и производительности wxGrid.
  • Улучшения wxImage: добавлена ​​поддержка альфа-канала в Paste() и поддержка буфера обмена.
  • Дополнения API: wxPersistentComboBox, wxFileName::ResolveLink(), wxFileHistory::SetMenuPathStyle(), wxString::utf8_string(), wxEVT_FULLSCREEN.
  • Улучшения: wxConfig теперь поддерживает 64-битные целые числа, wxLog использует миллисекундное разрешение в метках времени, файлы XRC можно загружать по URL-адресам.
  • Откажитесь от поддержки Borland C++.
3.1.6 4 апреля 2022 г.
  • Множество улучшений HiDPI.
  • Новый класс wxBitmapBundle, позволяющий простым способом создавать изображения как с нормальным, так и с высоким разрешением.
  • Новый класс wxUILocale заменяет старый (но все еще доступный) wxLocale, но не страдает от его многочисленных проблем и обеспечивает большую функциональность.
  • Поддержка использования встроенной проверки орфографии в wxTextCtrl.
  • Поддержка отмены/повтора действия в wxTextCtrl в wxOSX.
  • Улучшенная реализация перетаскивания в wxOSX.
  • Исправлены важные ошибки в wxDataViewCtrl на всех платформах.
  • Множество улучшений и исправлений ошибок для поддержки Wayland в wxGTK.
  • Поддержка последних версий ОС (Windows 11, macOS 12) и компиляторов (MSVS 2022, gcc 12, clang 13).
  • Система отслеживания ошибок проекта была перенесена в GitHub Issues.
3.1.7 6 июня 2022 г.
  • Улучшения системы сборки CMake (улучшенная поддержка предварительно скомпилированных заголовков).
  • Новый API настройки wxFileDialog, работающий с IFileDialog в wxMSW.
  • Множество обновленных переводов и новый wxTRANSLATE_IN_CONTEXT().
  • Исправления плохого взаимодействия с новыми функциями macOS 12 в wxOSX.
  • В несколько обработчиков XRC добавлено несколько ранее отсутствующих атрибутов.
  • Изменение порядка строк путем перетаскивания и улучшения пользовательского интерфейса в wxGrid.
  • Возможность подавлять выбранные (или все) предупреждающие сообщения GTK в wxGTK.
3.2.0 7 июля 2022 г.
  • Отказаться от поддержки платформы Win9x.
  • Откажитесь от поддержки Microsoft Visual C++ 6.0.
  • Встроенная поддержка темного режима MacOS.
  • Поддержка ARM-версий MacOS.
  • HiDPI и API DPI для каждого монитора.
  • Поддержка Вейланда.
  • wxWebRequest теперь поддерживает HTTPS и HTTP/2.
3.2.1 9 сентября 2022 г.
  • Добавьте wxFileDialog::AddShortcut().
  • Добавьте поддержку wxStyledTextCtrl в файл схемы XRC.
  • Исправления ошибок.
3.2.2 9 февраля 2023 г.
  • Разрешить разделитель 'T' в wxDateTime::ParseDateTime().
  • Добавьте wxUILocale::GetSystemLocaleId() вместо GetSystemLocale().
  • Добавьте поддержку Caps/Num/Scroll Lock в wxGetKeyState().
  • Исправления ошибок.
3.2.2.1 13 февраля 2023 г.
  • Быстрое исправление проблемы с иконками в wxGenericTextCtrl.
3.2.3 10 октября 2023 г.
  • Запретить вставку символов, запрещенных wxTextValidator.
  • Исправления ошибок.
3.2.4 11 ноября 2023 г.
  • Исправления ошибок.
Будущие версии

Лицензия

[ редактировать ]
Лицензия wxWindows
Совместимость с Debian FSG Да
ФСФ одобрено Да
OSI одобрено Да
Совместимость с лицензией GPL Да
Авторское лево Да
Связывание из кода с другой лицензией Да
Веб-сайт www .wxвиджеты .org  Edit this on Wikidata

wxWidgets распространяется по специальной лицензии wxWindows , аналогичной GNU Lesser General Public License (LGPL), за исключением того, что производные работы в двоичной форме могут распространяться на собственных условиях пользователя. [8] Эта лицензия является лицензией свободного программного обеспечения, одобренной FSF. [20] Создание бесплатного программного обеспечения wxWidgets . Он был одобрен Инициативой открытого исходного кода (OSI). [21]

Официальная поддержка

[ редактировать ]

Поддерживаемые платформы

[ редактировать ]

wxWidgets поддерживается на следующих платформах: [22] [23]

  • Windows — wxMSW (32/64-разрядные версии Windows XP до Windows 11)
  • Linux/Unix wxGTK , wxX11, wxMotif
  • Mac OS — wxMac ( Mac OS X 10.3 с использованием Carbon, Mac OS X 10.5 с использованием Cocoa), wxOSX/Cocoa (32/64-разрядная версия Mac OS X 10.7 или новее)
  • OS/2 – wxOS2, wxPM, wxWidgets для GTK или Motif можно скомпилировать в OS/2.
  • Встроенные платформы – wxEmbedded [9]

Внешние порты

[ редактировать ]
  • Amiga – wxWidgets-AOS: порт AmigaOS (в разработке) [24]

Поддерживаемые компиляторы

[ редактировать ]

Официально подтверждено, что wxWidgets корректно работает со следующими компиляторами: [25] [26]

Инструментарий Компилятор Версия
wxMSW Microsoft Visual Studio – Visual C++ 5.0+
Borland C++ (выпал из версии 3.1.5) 5.5+
C++Builder 2006+
Ватком С++, OpenWatcom 10.6+
КодВоин 7+
Сигвин 1.5+
МинГВ 2.0+
Компилятор Digital Mars C/C++ 8.40+
wxGTK г++ 2.95+
Кланг++ 3.3+
Компилятор Intel C++ 9.1+
Сан Студия C/C++ 5.9
HP AC++ 3.8
IBM XL C/С++ 8.0

Привязки языков программирования

[ редактировать ]
wxPython Логотип

wxWidgets Библиотека реализована на C++ , с привязками , доступными для многих часто используемых языков программирования . [27]

wxWidgets лучше всего описать как набор инструментов для собственного режима , поскольку он обеспечивает тонкую абстракцию для собственных виджетов платформы, в отличие от эмуляции отображения виджетов с использованием графических примитивов. Вызов собственного виджета на целевой платформе приводит к созданию более естественного интерфейса, чем у таких наборов инструментов, как Swing (для Java), а также обеспечивает производительность и другие преимущества. [28]

Набор инструментов также не ограничивается разработкой графического пользовательского интерфейса, имея уровень межпроцессного взаимодействия , функциональные возможности сети сокетов и многое другое.

Инструменты RAD и IDE для wxWidgets

[ редактировать ]
CodeLite под Windows XP
Code::Blocks , работающий под Ubuntu

Существует множество инструментов быстрой разработки приложений (RAD) и интегрированной среды разработки (IDE). Известные инструменты включают в себя: [29] [30]

Приложения, созданные с использованием wxWidgets

[ редактировать ]
Амайя под Windows 7

Известные приложения, использующие wxWidgets:

См. также

[ редактировать ]
  • FLTK — легкий, кроссплатформенный, неродной набор инструментов для виджетов.
  • Инструментарий FOX — быстрый кроссплатформенный набор инструментов для виджетов с открытым исходным кодом.
  • GTK — набор инструментов GIMP, набор инструментов для виджетов, используемый GNOME . приложениями
  • gtkmm — версия GTK для C++.
  • Juce — обширный кроссплатформенный набор инструментов для виджетов.
  • IUP — многоплатформенный набор инструментов для создания собственных графических пользовательских интерфейсов.
  • Qt (набор инструментов) — платформа приложений, используемая KDE . приложениями
  • U++ — кроссплатформенная среда разработки на C++.
  • Набор инструментов для виджетов
  • Список наборов виджетов
  1. ^ Перейти обратно: а б с «О проекте wxWidgets» . wxwidgets.org . Проверено 2 января 2010 г.
  2. ^ Перейти обратно: а б «О Джулиане Смарте, www.anthemion.co.uk» . Anthemion.co.uk . Проверено 8 июня 2009 г.
  3. ^ «Джулиан Смарт» . bookfayre.cz . Проверено 8 июня 2009 г.
  4. ^ «Команда — wxWidgets» . wxwidgets.org .
  5. ^ «История — wxWidgets» . www.wxwidgets.org .
  6. ^ «wxWidgets: выпущена версия 3.2.4» . 11 ноября 2023 г. Проверено 11 ноября 2023 г.
  7. ^ Перейти обратно: а б «О том, кто использует wxWidgets?» . wxwidgets.org . Проверено 12 апреля 2011 г.
  8. ^ Перейти обратно: а б « Страница «Лицензия» на сайте» . Лицензия wxWindows по сути является LGPL, за исключением того, что производные работы в двоичной форме могут распространяться на собственных условиях пользователя.
  9. ^ Перейти обратно: а б «wxEmbedded | домашняя страница встроенной кроссплатформенной библиотеки графического интерфейса» . www.wxembedded.com .
  10. ^ «Список приложений с открытым исходным кодом, использующих wxWidgets» . SourceForge.net . Проверено 22 апреля 2011 г.
  11. ^ «История — wxWidgets» . www.wxwidgets.org . Проверено 31 марта 2023 г.
  12. ^ Умный, Джулиан; Данн, Робин (август 2004 г.). «Смена имени» . Sourceforge.net . Проверено 23 апреля 2007 г.
  13. ^ Смарт, Джулиан (10 октября 2006 г.). «Google Summer of Code 2006: обзор проектов wxWidgets» . wxwidgets.org . Проверено 11 апреля 2011 г.
  14. ^ «Google Лето кода 2006» . Проверено 11 апреля 2011 г.
  15. ^ «История wxWidgets» . wxwidgets.org . Проверено 11 апреля 2011 г.
  16. ^ Перейти обратно: а б с д «Журнал изменений wxWidgets» . wxwidgets.org . Проверено 11 апреля 2011 г.
  17. ^ Перейти обратно: а б с «Новости» . wxwidgets.org . Проверено 11 апреля 2011 г.
  18. ^ Судиарто Рахарджо, Вилли (14 декабря 2006 г.). «WxWidgets 2.8.0» . Проверено 11.04.2011 .
  19. ^ Перейти обратно: а б «Выпуски wxWidgets/wxWidgets» . Гитхаб . Проверено 07 марта 2018 г.
  20. ^ «Различные лицензии и комментарии к ним – Проект GNU – Фонд свободного программного обеспечения» .
  21. ^ «Инициатива открытого исходного кода OSI – Лицензия библиотеки wxWindows: Лицензирование» . Инициатива открытого исходного кода . Проверено 28 апреля 2011 г.
  22. ^ «wxWidgets: Введение» . docs.wxwidgets.org . Проверено 14 января 2016 г.
  23. ^ «wxWidgets: Подробности о платформе» . docs.wxwidgets.org . Проверено 14 января 2016 г.
  24. ^ «wxWidgets-AOS: порт AmigaOS» . Проверено 24 апреля 2011 г.
  25. ^ «Поддерживаемые платформы» . wxwidgets.org . Проверено 24 апреля 2011 г.
  26. ^ «Разработка: Поддерживаемые классы — WxWiki» . wiki.wxwidgets.org .
  27. ^ «Общая информация о wxWidgets» . wxwidgets.org . Проверено 1 августа 2015 г.
  28. ^ «WxWidgets по сравнению с другими наборами инструментов» . wxwidgets.org . Проверено 2 января 2010 г.
  29. ^ «Инструменты для wxWidgets» . wxwidgets.org . Проверено 12 апреля 2011 г.
  30. ^ «Список интегрированных сред разработки» . wxwidgets.org . Проверено 12 апреля 2011 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bca4b53ad9c297604f5f60ea916c5b54__1719801780
URL1:https://arc.ask3.ru/arc/aa/bc/54/bca4b53ad9c297604f5f60ea916c5b54.html
Заголовок, (Title) документа по адресу, URL1:
wxWidgets - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)