Руководство по программированию с wxWidgets (2. Первые программы в wx Widgets).

Jan Bodnar, “The wxWidgets programming tutorial (2. First programs in wxWidgets)”, public translation into Russian from English More about this translation.

Translate into another language.

Первые программы в wx Widgets.

В этой главе мы опишем основы, необходимые для создания wxWidgets приложений. Мы создадим наш первый пример, показывающий как отобразить иконку. Далее мы создадим пример демонстрирующий работу с событиями. И в заключении мы увидим как взаимодействуют виджеты внутри wxWidgets приложений.

Простое приложение.

Для начала создадим очень простую wxWidgets программу.

simple.h

#include <wx/wx.h>

class Simple : public wxFrame

{

public:

Simple(const wxString& title);

};

simple.cpp

#include "simple.h"

Simple::Simple(const wxString& title)

: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150))

{

Centre();

}

main.h

#include <wx/wx.h>

class MyApp : public wxApp

{

public:

virtual bool OnInit();

};

main.cpp

#include "main.h"

#include "simple.h"

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()

{

Simple *simple = new Simple(wxT("Simple"));

simple->Show(true);

return true;

}

Этот очень простой пример выводит небольшое окно с заголовком Simple в центре экрана.

Centre();

Этот метод центрует окно на экране по горизонтали и вертикали.

IMPLEMENT_APP(MyApp)

Этот макрос реализует функцию main() в приложениях wxWidgets, скрывая подробности главного цикла ожидания события. Это код для подстановки (вставки) и обычно нам не нужно об этом сильно беспокоится.

Для компиляции программы используйте следующие команды (Unix/Linux):

g++ main.cpp main.h simple.cpp simple.h `wx-config --cxxflags --libs` -o simple

Simple

Figure: Simple

Вывод иконки приложения.

В этом примере мы снабдим нашу программу иконкой. Т.к. стало стандартом отображать небольшую иконку в верхнем левом углу окна. Эта иконка является графическим идентификатором программы.

icon.h

#include <wx/wx.h>

class Icon : public wxFrame

{

public:

Icon(const wxString& title);

};

icon.cpp

#include "icon.h"

Icon::Icon(const wxString& title)

: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150))

{

SetIcon(wxIcon(wxT("web.xpm")));

Centre();

}

main.h

#include <wx/wx.h>

class MyApp : public wxApp

{

public:

virtual bool OnInit();

};

main.cpp

#include "main.h"

#include "icon.h"

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()

{

Icon *icon = new Icon(wxT("Icon"));

icon->Show(true);

return true;

}

В нашей программе будет использована маленькая веб иконка.

SetIcon(wxIcon(wxT("web.xpm")));

Отображение иконки осуществляется этой строкой. XPM (X PixMap) графический ASCII формат.

Icon

Figure: Icon

Простая кнопка.

В следующем примере мы создадим кнопку в рамке виджета. А так же покажем как создать простой обработчик событий.

button.h

#include <wx/wx.h>

class Button : public wxFrame

{

public:

Button(const wxString& title);

void OnQuit(wxCommandEvent & event);

};

button.cpp

#include "button.h"

Button::Button(const wxString& title)

: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(270, 150))

{

wxPanel *panel = new wxPanel(this, wxID_ANY);

wxButton *button = new wxButton(panel, wxID_EXIT, wxT("Quit"),

Pages: ← previous Ctrl next
1 2 3

Original (English): The wxWidgets programming tutorial (2. First programs in wxWidgets)

Translation: © ber113 .

translated.by crowd

Like this translation? Share it or bookmark!