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 件のコメント:
コメントを投稿