基本 †
ボタン付きウィンドウの作成 †
#include <gtk/gtk.h>
/*
ボタンがクリックされたときに呼び出される関数
*/
static void cb_button_clicked (GtkWidget *button, gpointer user_data) {
/* メインループを終了 */
gtk_main_quit ();
}
int main (int argc, char** argv)
{
GtkWidget *window;
/* GTK+の初期化およびオプション解析 */
gtk_init(&argc, &argv);
/* ウィンドウの作成 */
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* ウィンドウの大きさの設定 */
gtk_widget_set_size_request(window, 300, 200);
{
GtkWidget *button;
/*ボタンの作成*/
button = gtk_button_new_with_label("Quit");
/* ボタンをウィンドウに配置 */
gtk_container_add(GTK_CONTAINER (window), button);
/* ボタンがクリックされたときに呼び出される関数の設定 */
g_signal_connect(G_OBJECT (button), "clicked",
G_CALLBACK (cb_button_clicked), NULL);
}
/* ウィンドウの表示 */
gtk_widget_show_all(window);
/*メインループ*/
gtk_main();
return 0;
}
- gtk_init()
- GTK+ の初期化を行ったり,GTK+ 共通のオプションを解析する関数
- GTK+ でアプリケーションを作成する場合には,必ずこの関数をはじめに呼び出す必要がある
- gtk_window_new()
- ウィンドウを作成
- 引数には作成するウィンドウの種類を指定
- GTK WINDOW TOPLEVEL ... アプリケーションのメインになるようなウィンドウ
- GTK WINDOW POPUP ... マウスをク リックしたときにポップアップで表示されるようなウィンドウ
- gtk_widget_set_size_request()
- gtk_button_new_with_label()
- gtk_widget_show_all()
- 引数に指定したウィジェット内に配置されたすべてのウィ ジェットを表示
- g_signal_connect()
- 第 1 引数:コールバック関数を関連付けるオブジェクト
- 第 2 引数:シグナル名
- 第 3 引数:コールバック関数
- 第 4 引数:コールバック関数に渡すデータ
イメージウィジェット †
メニューバー †
ウィジェット †
シグナル †
- enter ... マウスポインタがボタン領域に入ったときに発生するシグナル
- leave ... マウスポインタがボタン領域から出たときに発生するシグナル
- pressed ... ボタンが押されたときに発生するシグナル
- released ... ボタンが離されたときに発生するシグナル
- clicked ... ボタンを押して離すという一連の動作,すなわちボタンがクリックされたときに発生するシグナル
コールバック関数 †
gpointer †
GIOChannel †