gtkmm

GTKMM
リポジトリ
書かれたC++
プラットフォームGTK
タイプ言語バインディング
ライセンスGNU劣等一般公衆利用許諾書
Webサイトgtkmm .gnome .org

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 の主な機能は次のとおりです。

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 ; } ;#endif
//HelloWorldウィンドウ.cc#include <iostream> #include "HelloWorldWindow.h"HelloWorldWindow :: HelloWorldWindow () : hello_world ( "Hello World" ) { // ウィンドウのタイトルを設定します。set_title ( " Hello World" );// ウィンドウにメンバーボタンを追加します。set_child ( hello_world ) ;// 'clicked' シグナルを処理します。hello_world . signal_clicked ( ). connect ([] () { std :: cout << "Hello world" << std :: endl ; }); }
//メイン.cc#include <gtkmm/application.h> #include "HelloWorldWindow.h"int main ( int argc , char * argv []) { // アプリケーションオブジェクトを作成します。auto app = Gtk :: Application :: create ( "org.gtkmm.example" );// Hello World ウィンドウ オブジェクトを作成し、閉じられたら戻ります。return app -> make_window_and_run < HelloWorldWindow > ( argc , argv ); }

上記のプログラムは、「Hello World」というラベルのボタンが付いたウィンドウを作成します。ボタンをクリックすると、「Hello World」が標準出力に送信されます。

プログラムは次のコマンドを使用して実行されます。

$ g++ -std = c++17 *.cc -o example ` pkg-config gtkmm-4.0 --cflags --libs ` $ ./example 

これは通常、単純なmakefileを使用して行われます。

アプリケーション

gtkmm を使用する注目すべきアプリケーションには次のようなものがあります。

参照

参考文献