Linuxでウィンドウアプリケーションを作るにはツールキットと言われるソフトを使用します。GTK+や、Qt(キュート)が有名です。GTK+は少々使いにくいかもしれませんが、C++でなくC言語から使えるのが特徴です。
まずは、GTK+の開発環境をインストールします。
Fedoraの場合
$ sudo yum install gtk3-devel
Ubuntuの場合
$ sudo apt-get install libgtk-3-dev
hello2.cは以下のように作成します。
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *dialog;
gtk_init(&argc, &argv);
dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_OTHER,
GTK_BUTTONS_OK,
"Hello!"
);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
return 0;
}
コンパイルを以下のように行い、実行します。
$ gcc hello2.c `pkg-config --cflags --libs gtk+-3.0` $ ./a.out
すると以下のようになウィンドウが表示されます。
少し難しいですが、簡単に各項目の説明をします。
| 項目 | 説明 |
|---|---|
| main | main()関数はargc, argv, envの3つの引数を持つことができます。今までは全て省略していました。envのみ省略もできます。 |
| int argc | コマンドライン引数の数が渡されます。 |
| char *argv[]; | コマンドライン引数の文字列の配列が渡されます。 |
| GtkWidget *dialog; | dialogという名前のウィンドウをこれから作ることを宣言します。 |
| gtk_init() | GTK+を使用する前に必須の初期化を行います。 |
| gtk_message_dialog_new() | メッセージを表示するだけの簡単なウィンドウdialogを作成します。一つ目の引数は、親ウィンドウを指定します。二つ目の引数は動作を指定します。三つ目の引数はどのようなアイコンを出すかを指定します。4つ目の引数はOKボタンを出す事をしていします。5つ目の引数は、表示する文字列です。 |
| gtk_dialog_run() | dialogを表示し、OKが押されるまで待ちます。 |
| gtk_widget_destroy() | 作成したdialogを削除します。 |
コンパイル時には`pkg-config --cflags --libs gtk+-3.0`を指定します。「`」は日本語キーボードでは「@」のキーをShiftキーを押しながら入力すると表示される文字です。これを指定するとpkg-configのコマンドの表示結果をそのままコマンドに渡すことができます。pkg-configは、GTK+で必要なヘッダーファイルの場所と、ライブラリを指定する引数を表示するコマンドです。
GTK+の詳細についてはここにリファレンスマニュアルがあります。ただし全部英語です。
| 1 | 準備(開発環境のインストール) |
| 2 | 準備(コマンドライン) |
| 3 | 準備(テキストエディタ) |
| 4 | Hello Worldと文法 |
| 5 | Hello World が動く仕組み |
| 6 | Hello World ウィンドウ表示(Windows) |
| 7 | Hello World ウィンドウ表示(GTK+) |
| 8 | 階乗の計算 |
| 9 | 数値と名前と変数 |
| 10 | 演算 |

0 件のコメント:
コメントを投稿