gtkmm
gtkmm저장소 | |
---|---|
기입처 | C++ |
플랫폼 | GTK |
유형 | 언어 바인딩 |
면허증. | GNU 약소 일반 공중 사용 허가서 |
웹 사이트 | www |
gtkmm(이전에는 gtk-- 또는 gtk 마이너스[1])는 일반적인 GUI 라이브러리 GTK의 공식 C++ 인터페이스입니다.gtkmm는 GNU Lesser General Public License(LGPL)에 따라 배포되는 자유 소프트웨어입니다.
gtkmm에서는 Gtk::를 사용하여 코드 또는 Glade Interface Designer를 사용하여 사용자 인터페이스를 생성할 수 있습니다.빌더 클래스기타 기능으로는 type safe 콜백, 포괄적인 그래픽 제어 요소 세트, 상속을 통한 위젯 확장성이 있습니다.
특징들
gtkmm는 GUI 라이브러리 GTK의 공식 C++ 인터페이스이므로 C++ 프로그래머는 상속 등의 일반적인 OOP 기술을 사용할 수 있습니다.또한 STL 등의 C++ 고유의 기능(실제로 gtkmm 인터페이스, 특히 위젯 컨테이너용 인터페이스)은 Template Library(ST)와 유사하게 설계되어 있습니다.
gtkmm의 주요 기능은 다음과 같습니다.
- 상속을 사용하여 사용자 지정 위젯을 파생합니다.
- 타입 세이프 신호 핸들러(표준 C++).
- 다형성.
- 문자열, 컨테이너 및 반복기를 포함한 표준 C++ 라이브러리 사용.
- UTF-8에 의한 완전한 국제화.
- C++ 메모리 관리를 완료합니다.
- C++ 네임스페이스의 풀 사용.
- 매크로 없음.
- 크로스 플랫폼: Linux(gcc, LLVM), FreeBSD(gcc, LLVM), NetBSD(gcc, LLVM), Solaris(gcc, Forte), Win32(gcc, MSVC+), macOS(gcc) 등
헬로월드(gtkmm)
//Hello World Window.h #헬로우로드윈도_H #안녕하세요 창_H의_H #실패하다 <gtkmm/수직.h> #실패하다 <gtkmm/버튼>h> // 기존 창 위젯에서 새 창 위젯을 파생합니다. // 이 창에는 "Hello World" 버튼만 표시됩니다. 학급 헬로월드 윈도 : 일반의 gtk::창 { 일반의: 헬로월드 윈도(); 보호되고 있다: gtk::단추 hello_world; }; #엔디프
//HelloWorldWindow.cc #실패하다 <iostream> #실패하다 "Hello World Window.h" 헬로월드 윈도::헬로월드 윈도() : hello_world('헬로 월드') { // 창 제목을 설정합니다. set_module('헬로 월드'); // 창에 멤버버튼을 추가합니다. 더하다(hello_world); // 'click' 이벤트를 처리합니다. hello_world.signal_displays(시그널)().연결하다([] () { 표준::외치다 << > '헬로 월드' << > 표준::끝; }); // 창의 모든 하위 위젯을 표시합니다. show_all_children(); }
//main.cc #실패하다 <gtkmm/메인>h> #실패하다 "Hello World Window.h" 인트 주된(인트 argc, 차 *argv[]) { // 초기화 gtk::주된 키트(argc, argv); // hello world 창 개체를 만듭니다. 헬로월드 윈도 예; // gtkmm 메인루프 gtk::주된::달려.(예); 돌아가다 0; }
위 프로그램에서는 "Hello World" 버튼이 있는 창이 생성됩니다.버튼을 클릭하면 "Hello world"가 표준 출력으로 전송됩니다.
프로그램은 다음 명령을 사용하여 실행됩니다.
$ g++ -std=c++11 *.cc -o 예제 'pkg-config gtkmm-3.0 --cflags --libs' $ ./displays
이것은 보통 간단한 make file을 사용하여 수행됩니다.
적용들
gtkmm를 사용하는 주요 응용 프로그램에는 다음과 같은 것이 있습니다.
- 암신스[2]
- Cadabra(컴퓨터 프로그램)[3]
- 잉크스케이프 벡터 그래픽 도면.
- 프린트 회로 기판 설계를 위한 전자 설계 자동화 패키지인 Horizon EDA.
- PDF 슬라이서 PDF 문서의 페이지를 추출, 병합, 회전 및 재정렬하는 간단한 응용 프로그램입니다.
- 워크레이브는 RSI의 복구와 예방을 지원합니다.
- Gnome 시스템 모니터[4]
- Gigedit[5]
- GParted 디스크 파티션 도구.
- GNU 디버거 gdb용 Nemiver GUI.
- PulseAudio 툴: pavucontrol,[6] paman,[7] paprefs[8] pavumeter,[9]
- 로우테라피[10]
- GNOME 참조 문서 작성자 및 참고 문헌 관리자
- Seq24[11]
- Synfig 스튜디오[12]
- 린트 감각[13]
- MySQL[14] Workbench 관리자 데이터베이스 GUI.
- Linux 및 MacOS용 Ardour 오픈 소스 디지털 오디오 워크스테이션(DAW).
- Gnote 데스크톱 노트 응용 프로그램.
- Visual Boy Advance[15]
- VMware Workstation과 VMware Player는 모두 Linux 포트에 gtkmm를 사용합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ gtkmm FAQ
- ^ "Debian -- Details of package amsynth in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package cadabra in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package gnome-system-monitor in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package gigedit in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package pavucontrol in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package paman in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package paprefs in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package pavumeter in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package rawtherapee in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package seq24 in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package synfigstudio in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package linthesia in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package mysql-workbench in jessie". Retrieved 2017-03-06.
- ^ "Debian -- Details of package visualboyadvance-gtk in jessie". Retrieved 2017-03-06.