Руководство по программированию с wxWidgets (2. Первые программы в wx Widgets). |
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translation complete.
Первые программы в 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"),
Original (English): The wxWidgets programming tutorial (2. First programs in wxWidgets)
Translation: © ber113 .
