
| ■ | Gtk+で日本語を使うには |
#include <stdio.h>
#include "gtk/gtk.h"
static void destroySignalProc(GtkWidget* w, gpointer data){
gtk_main_quit();
}
static void clickedSignalProc(GtkWidget* w, gpointer data){
gtk_main_quit();
}
int main(int argc, char* argv[]){
GtkWidget* w, * vbox, * laba, * cmda;
gtk_init(& argc, & argv);
w = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_usize(w, 200, 100);
vbox = gtk_vbox_new(0, 0);
/* これで日本語が使えるようになります。 */
gtk_set_locale();
/* 日本語EUCで書くこと */
laba = gtk_label_new("世界よこんにちは");
cmda = gtk_button_new_with_label("終了");
gtk_container_set_border_width(GTK_CONTAINER(w), 4);
gtk_box_pack_start(GTK_BOX(vbox), laba, 1, 0, 0);
gtk_box_pack_start(GTK_BOX(vbox), cmda, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(w), vbox);
gtk_signal_connect(GTK_OBJECT(w), "destroy",
GTK_SIGNAL_FUNC(destroySignalProc), NULL);
gtk_signal_connect(GTK_OBJECT(cmda), "clicked",
GTK_SIGNAL_FUNC(clickedSignalProc), NULL);
gtk_widget_show(laba);
gtk_widget_show(cmda);
gtk_widget_show(vbox);
gtk_widget_show(w);
gtk_main();
return 0;
}
/* end. */
|
style "default" {
fontset = "-adobe-helvetica-medium-r-normal--14-100-100-100-p-76-iso8859-1,\
-misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0"
}
class "GtkWidget" style "default"
|
後者は、ホームディレクトリの .login、.cshrcまたは .xinitrc でたとえばcsh系のシェルなら
setenv LANG ja_JP.ujisとなるでしょう(.xinitrcはsh系のスクリプトです)。 このプログラムを先程と同様にコンパイルして実行すると、このようになります。
さて、先述の通り、ウィンドウの上には直接は1個のウィジェットしか載せられません。 この例では、ウィンドウの上に垂直パッキングボックスを載せ、 その上にラベルとボタンを載せています。
vbox = gtk_vbox_new(0, 0);
laba = gtk_label_new("ラベルのテキスト");
cmda = gtk_button_new_with_label("ボタンのテキスト");
gtk_box_pack_start(GTK_BOX(vbox), laba, 1, 0, 0);
gtk_box_pack_start(GTK_BOX(vbox), cmda, 1, 0, 0);
gtk_container_add(GTK_CONTAINER(window), vbox);
gtk_widget_show(laba);
gtk_widget_show(cmda);
gtk_widget_show(vbox);
gtk_widget_show(window);
|
セクションのサブメニューに戻る
(first uploaded 2000/03/09 last updated 2002/03/25)