wxWidgets는 GUI 크로스 플랫폼 라이브러리중 하나로, 대표적으로 C++, Python, Perl등의 언어를 지원하며 객체지향적으로 설계되어 있다. 현재 최신 버전은 3.2이다.
특징[편집 | 원본 편집]
다양한 운영체제의 지원[편집 | 원본 편집]
크로스 플랫폼 라이브러리라는 이름에 맞게 다양한 운영체제를 지원한다. 현재 공식적으로 지원 중인 플랫폼은 다음과 같다.
- WXMSW
- Windows API를 백엔드로 사용하는 버전
- WXGTK
- Gtk2 및 Gtk3을 백엔드로 사용하는 버전, GTK가 지원되는 운영체제(주로 Linux)에서 사용할 수 있다.
- wxOSX
- MacOS Cocoa를 백엔드로 사용하는 버전
- wxUniv
- Gtk나 Qt처럼 위젯을 직접 그리는 백엔드
- wxQT
- QT를 백엔드로 사용하는 버전
네이티브 컨트롤의 사용[편집 | 원본 편집]
wxWidgets와 비교가 되는 QT와 달리 각 운영체제의 네이티브 컨트롤을 사용하여 다른 프로그램과의 차이가 적어 위화감이 적다.
크로스 플랫폼을 위한 다양한 라이브러리[편집 | 원본 편집]
코드 수정 없이 컴파일을 가능하게 하기 위하여 문자열클래스, Socket, XML, 정규표현식, 이미지 라이브러리,파일입출력등 다양한 지원 라이브러리가 포함되어 있다.
Hello, World![편집 | 원본 편집]
#include<wx/wx.h>
class App: public wxApp
{
public:
bool OnInit() override;
void OnPaint(wxPaintEvent&);
private:
wxFrame* frame_;
};
wxIMPLEMENT_APP(App);
bool App:OnInit()
{
frame_ = new wxFrame{nullptr, wxID_ANY, wxT("Hello, World!")};
frame_->Bind(wxEVT_PAINT, &App::OnPaint, this);
return true;
}
void App::OnPaint(wxPaintEvent&)
{
wxPaintDC dc{frame_};
dc.DrawText(wxT("Hello, World!"). 0, 0);
}
wxWidgets 개발 프로그램[편집 | 원본 편집]
wxWidgets을 사용한 프로그램[편집 | 원본 편집]
- FileZilla
- Bittorrent
- TortoiseCVS(클라이언트)
- Aegisub
- gnuplot
- PlayOnLinux
프로그래밍 관련 정보 |
|||||||||
---|---|---|---|---|---|---|---|---|---|
문자 인코딩 | |||||||||
문자 집합 |
|
||||||||
프로그래밍 언어 | |||||||||
마크업 언어 | |||||||||
표준과 API와 규격 | |||||||||
라이브러리 | |||||||||
프레임워크 | |||||||||
개발 소프트웨어 | |||||||||
튜토리얼 |