wxWidgets - библиотека для разработки кросс-платформенных приложений
wxWidgets (ранее назывался wxWindows) – это кроссплатформенная библиотека для разработки интерфейсов графического пользователя (GUI), написанная на языке C++. Она предоставляет набор классов для создания оконных приложений, обработки событий, работу с графическими элементами интерфейса и многим другим.
Одной из главных особенностей wxWidgets является ее кроссплатформенность. Она может работать на операционных системах Windows, Linux, macOS, а также на Android и iOS. Благодаря этому разработчикам не нужно писать разные версии программы для каждой платформы и можно создавать приложения, которые работают на разных системах.
Вот небольшой пример программы на C++, использующей библиотеку wxWidgets для создания графического интерфейса:
c++
#include
class MyFrame : public wxFrame
{
public:
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame(NULL, wxID_ANY, title, pos, size)
{
auto *panel = new wxPanel(this, wxID_ANY);
auto *text = new wxStaticText(panel, wxID_ANY, "Привет, wxWidgets!", wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER);
auto *button = new wxButton(panel, wxID_ANY, "Нажми меня!");
button->Bind(wxEVT_BUTTON, [text] (wxCommandEvent &)
{
text->SetLabel("Кнопка была нажата!");
});
}
};
class MyApp : public wxApp
{
public:
virtual bool OnInit()
{
auto *frame = new MyFrame("Мое приложение", wxPoint(50, 50), wxSize(450, 350));
frame->Show();
return true;
}
};
wxIMPLEMENT_APP(MyApp);
В этом примере создается класс MyFrame, наследующийся от класса wxFrame, который предоставляет базовые возможности для создания основного окна приложения. В конструкторе класса MyFrame создаются элементы интерфейса: панель, на которой будут расположены другие элементы, надпись и кнопка. Текст надписи можно изменить, нажимая на кнопку.
Класс MyApp представляет собой само приложение и наследуется от wxApp. В нем описывается метод OnInit(), который создает экземпляр основного окна и отображает его на экране.
Таким образом, благодаря библиотеке wxWidgets создание графических интерфейсов для приложений становится намного проще и удобнее, а также позволяет создавать кроссплатформенные приложения, которые работают на разных операционных системах.