「GNOMEフレームワーク」の版間の差分

削除された内容 追加された内容
176 行
=== コード例 1 ===
簡単な例として、ウィンドウ内のタイトルバー下の任意の位置に、文字を表示してみましょう。
 
下記の例のように「◯◯_new」という命令で、何らかの特徴を持ったウィジェットの ひな形 を作れますので、そうして作ったウィジェットの ひな形 に必要な情報を代入していきます。
 
<syntaxhighlight lang="c">
204 ⟶ 206行目:
</syntaxhighlight>
 
まず、座標を指定して文字表示できるようにするには、 gtk_fixed というウィジェットを作成し、さらにそれをウィンドウに追加する必要があります。
 
解説
ウィンドウに何か別のウィジェットを追加する作業は、 gtk_container_add() 関数 で行えます。
GtkWidget *window, *fixed, *label; // ウィジェットを格納するための変数を宣言
の window,fixed,label は3つとも全て、単なる変数名です。
 
なので、hensuu1,hensuu2,hensuu3とかにしても構いません。
 
ためしに、変数名をそれぞれ uindou, fikkusu, raberu にすると、次のようなコードになります。
 
;(※ 実際に動きます。CentOS7で確認ずみ)
<syntaxhighlight lang="c">
#include <gtk/gtk.h>
int main (int argc, char **argv){
 
gtk_init(&argc, &argv); // GTKの初期化
GtkWidget *uindou, *fikkusu, *raberu; // ウィジェットを格納するための変数を宣言
 
/* ウィンドウ、GtkFixedなど各種ウィジェットを作成 */
uindou = gtk_window_new(GTK_WINDOW_TOPLEVEL);
fikkusu = gtk_fixed_new();
raberu = gtk_label_new("Hello, world! kubetu"); // 最初のコードの実行結果と区別しやすくするため文字列「kubetu」を足した
 
/* GtkFixedをウィンドウにパック */
gtk_container_add(GTK_CONTAINER(uindou), fikkusu);
 
/* GtkFixed内の(10,20)にラベルを配置 */
gtk_fixed_put(GTK_FIXED(fikkusu), raberu, 10,20);
 
/* 表示することを設定 */
gtk_widget_show_all(uindou);
 
/* メインループ */
gtk_main();
return 0;
}
</syntaxhighlight>
 
 
さて、座標を指定して文字表示できるようにするには、
作成した文字列の代入は、 label ウィジェットで可能です。
:gtk_fixed_new 命令でgtk_fixed というという種類のウィジェット()を作成し、
:さらにそれをgtk_container_add() 命令でウィンドウに追加する必要があります。
 
作成した文字列の代入は、 labelgtk_label_new で作ったウィジェットで可能です。
 
そして最後に gtk_widget_show_all 命令で、表示したいウィンドウを指定することにより、そのウィンドウごと文字列などを表示するだけです。
 
=== コード例 2 ===