Loading article…
| リポジトリ |
|
|---|---|
| 書かれた | C++ |
| プラットフォーム | GTK とは |
| タイプ | 言語バインディング |
| ライセンス | GNU 劣等一般公衆利用許諾書 |
| Webサイト | 詳しくはこちら |
gtkmm(以前はgtk--またはgtk minus minus [1]と呼ばれていました)は、人気のあるGUIライブラリGTKの公式C++インターフェースです。gtkmmは、 GNU Lesser General Public License (LGPL)に基づいて配布されるフリーソフトウェアです。
gtkmm を使用すると、コード内またはGlade Interface Designerで Gtk::Builder クラスを使用してユーザー インターフェイスを作成できます。その他の機能には、タイプセーフなコールバック、包括的なグラフィカル コントロール要素のセット、継承によるウィジェットの拡張性などがあります。
特徴
gtkmm はGUIライブラリGTKの公式C++インターフェースであるため、C++ プログラマーは継承などの一般的なOOPテクニックや、STLなどの C++ 固有の機能を使用できます(実際、gtkmm インターフェースの多く、特にウィジェットコンテナーのインターフェースは、標準テンプレート ライブラリ (STL) に似たものになるように設計されています)。
gtkmm の主な機能は次のとおりです。
- 継承を使用してカスタムウィジェットを派生します。
- 標準C++の型セーフなシグナル ハンドラー。
- ポリモーフィズム。
- 文字列、コンテナ、反復子を含む標準 C++ ライブラリの使用。
- UTF-8による完全な国際化。
- 完全なC++メモリ管理。
- オブジェクトの構成。
- 動的に割り当てられたウィジェットの自動割り当て解除。
- C++ 名前空間をフル活用します。
- マクロはありません。
- クロスプラットフォーム: Linux ( gcc、LLVM )、FreeBSD (gcc、 LLVM )、NetBSD (gcc)、Solaris (gcc、Forte )、Win32 (gcc、MSVC++ )、macOS (gcc)、その他。
gtkmm での Hello World
//HelloWorldウィンドウ.h
#ifndef HELLOWORLDWINDOW_H
#define HELLOWORLDWINDOW_H
#include <gtkmm/window.h> #include <gtkmm/button.h>
// 既存のウィンドウ ウィジェットから新しいウィンドウ ウィジェットを派生します。//このウィンドウには、「Hello World」
というラベルの付いたボタンのみが含まれます。class
HelloWorldWindow : public Gtk :: Window { public : HelloWorldWindow ();
保護:
Gtk :: Buttonhello_world ; } ;
#終了
//HelloWorldウィンドウ.cc
#include <iostream> #include "HelloWorldWindow.h"
HelloWorldWindow :: HelloWorldWindow () : hello_world ( "Hello World" ) { // ウィンドウのタイトルを設定します。set_title ( "Hello World" );
// ウィンドウにメンバー ボタンを追加します。add
( hello_world ) ;
// 'click' イベントを処理します
。hello_world.signal_clicked ( ) . connect ( [] () { std :: cout << "Hello world" << std :: endl ; }); // ウィンドウのすべての子ウィジェットを表示します。show_all_children ( ); }
//メイン.cc
#include <gtkmm/main.h> #include "HelloWorldWindow.h"
int main ( int argc , char * argv []) { // 初期化Gtk :: Main kit ( argc , argv );
// Hello World ウィンドウ オブジェクトを作成します
。HelloWorldWindowの例;
// gtkmm メインループ
Gtk :: Main :: run ( example ); return 0 ; }
上記のプログラムは、「Hello World」というラベルの付いたボタンのあるウィンドウを作成します。ボタンをクリックすると、「Hello world」が標準出力に送信されます。
プログラムは次のコマンドを使用して実行されます。
$ g++ -std = c++11 *.cc -o example ` pkg-config gtkmm-3.0 --cflags --libs ` $ ./example
これは通常、単純なmakefileを使用して行われます。
アプリケーション
gtkmm を使用する注目すべきアプリケーションには次のようなものがあります。
- アムシンス[2]
- カダブラ(コンピュータプログラム)[3]
- Inkscapeベクター グラフィックの描画。
- Horizon EDA は、プリント回路基板設計用の電子設計自動化パッケージです。
- PDF スライサー PDF ドキュメントのページを抽出、結合、回転、並べ替えるシンプルなアプリケーションです。
- Workrave はRSI の回復と予防に役立ちます。
- Gnomeシステムモニター[4]
- ギゲディット[5]
- GPartedディスク パーティション ツール。
- GNU デバッガー gdb 用のNemiver GUI。
- PulseAudioツール: pavucontrol、[6] paman、[7] paprefs [8] pavumeter、[9]
- ローセラピー[10]
- GNOME Referencerドキュメントオーガナイザーおよび参考文献管理ツール
- 配列番号24 [11]
- シンフィグスタジオ[12]
- リンセシア[13]
- MySQL Workbench [14]管理者データベースGUI。
- Linux および MacOS 用のArdourオープン ソース デジタル オーディオ ワークステーション (DAW)。
- Gnoteデスクトップ メモ作成アプリケーション。
- ビジュアルボーイアドバンス[15]
- VMware WorkstationとVMware Player はどちらも Linux ポートに gtkmm を使用します。
参照
参考文献
- ^ gtkmm FAQ について
- ^ 「Debian -- jessie のパッケージ amsynth の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ cadabra の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ gnome-system-monitor の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ gigedit の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ pavucontrol の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ paman の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ paprefs の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ pavumeter の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ rawtherapee の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ seq24 の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ synfigstudio の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ linthesia の詳細」 。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ mysql-workbench の詳細」。2017年 3 月 6 日閲覧。
- ^ 「Debian -- jessie のパッケージ visualboyadvance-gtk の詳細」。2017年 3 月 6 日閲覧。
外部リンク
- 公式サイト
