LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: ayiiq180

GTK+如何显示中文?

[复制链接]
 楼主| 发表于 2003-8-26 08:14:31 | 显示全部楼层
不是utf8的问题,字符串的转换我确定是没有问题的,问题就出在字体的选择上,好像默认pango用的是Sans的字体,没法显示中文的,就是不知道在win下如何更改字体
发表于 2003-8-26 09:37:48 | 显示全部楼层
我在windows下显示中文没什么问题呀,我再没搞什么设置,就是编辑的文字用utf8就可以了,你们的怎么会这样呢?我用的是2000&&2003
 楼主| 发表于 2003-8-26 09:55:07 | 显示全部楼层
to 123,能不能贴个小程序看看?简单的一个窗体,一个label即可,label上写几个汉字
发表于 2003-8-26 14:41:35 | 显示全部楼层

看看是不是这个效果呀?

这是我用书上的例子的效果:
 楼主| 发表于 2003-8-26 14:57:43 | 显示全部楼层
能显示就可以,能不能把这个例子发给我啊?邮箱ayiiq180@163.com,要源码
发表于 2003-8-26 15:17:24 | 显示全部楼层
这是一个国际化编程的例子
发表于 2003-8-26 15:21:23 | 显示全部楼层
下边为国际化编程的源代码:[PHP]#include <gtk/gtk.h>
#include <libintl.h>
#include <locale.h>
#define PACKAGE "test"
#define LOCALEDIR "locale"
#define _(string) gettext(string)
#define N_(string) string
static GtkWidget* entry=NULL;
void on_button_clicked(GtkWidget *button,gpointer data)
  {
    gtk_entry_set_text(GTK_ENTRY(entry),_("This text will put in the entry."));
  }
int main(int argc,char* argv[])
  {
    GtkWidget *window,*vbox,*button,*label;
    bindtextdomain(PACKAGE,LOCALEDIR);
    textdomain(PACKAGE);
    gtk_init(&argc,&argv);
    window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window),_("TEST window"));
    g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);
    gtk_container_set_border_width(GTK_CONTAINER(window),10);
    vbox=gtk_vbox_new(FALSE,0);
    gtk_container_add(GTK_CONTAINER(window),vbox);
    label=gtk_label_new(_("This is a international application."));
    gtk_box_pack_start(GTK_BOX(vbox),label,FALSE,FALSE,5);
    button=gtk_button_new_with_label(_("New button"));
    g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(on_button_clicked),NULL);
    gtk_box_pack_start(GTK_BOX(vbox),button,FALSE,FALSE,5);
    entry=gtk_entry_new();
    gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,5);
    gtk_widget_show_all(window);
    gtk_main();
    return FALSE;
  }[/PHP]
 楼主| 发表于 2003-8-26 15:31:40 | 显示全部楼层
把这个国际化的这个程序发给我吧
对了,你这些例子是不是宋国伟老师的那本书带的?
 楼主| 发表于 2003-8-26 15:35:20 | 显示全部楼层
这个国际化程序应该有个mo的翻译文件的吧?我并没有见到哪句设置了locale,程序是怎么选择显示中文还是英文的?
发表于 2003-8-26 15:38:19 | 显示全部楼层
是那本书上的例子,你看不到下边这一句吗?[PHP]#define PACKAGE "test"
#define LOCALEDIR "locale"[/PHP]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表