편집 요약 없음 |
편집 요약 없음 태그: 조건 제한 도달 |
||
63번째 줄: | 63번째 줄: | ||
{{프로그래밍}} | {{프로그래밍}} | ||
[[분류:라이브러리]] | [[분류:라이브러리]] | ||
[[분류:위젯 툴킷]] |
2022년 3월 13일 (일) 20:52 판
wxWidgets는 GUI 크로스 플랫폼 라이브러리중 하나로, 대표적으로 C++, Python, Perl등의 언어를 지원하며 객체지향적으로 설계되어 있다. 현재 최신 버전은 3.1이다.
특징
다양한 운영체제의 지원
크로스 플랫폼 라이브러리라는 이름에 맞게 다양한 운영체제를 지원한다. 현재 공식적으로 지원 중인 플랫폼은 다음과 같다.
- 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(클라이언트)
프로그래밍 관련 정보 |
|||||||||
---|---|---|---|---|---|---|---|---|---|
문자 인코딩 | |||||||||
문자 집합 |
|
||||||||
프로그래밍 언어 | |||||||||
마크업 언어 | |||||||||
표준과 API와 규격 | |||||||||
라이브러리 | |||||||||
프레임워크 | |||||||||
개발 소프트웨어 | |||||||||
튜토리얼 |