QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 北斗星君

有关使用GTK编程的问题。

[复制链接]
 楼主| 发表于 2004-6-17 22:58:16 | 显示全部楼层
可是,我用dev-cpp编译出来以后,除了标题栏。
其他都是乱码。
回复

使用道具 举报

发表于 2004-6-18 08:30:10 | 显示全部楼层
[quote:4c2ad1eb00="北斗星君"]可是,我用dev-cpp编译出来以后,除了标题栏。
其他都是乱码。[/quote]

可以的话,有关中文的部分代码贴出来看看
回复

使用道具 举报

 楼主| 发表于 2004-6-18 08:37:19 | 显示全部楼层
[code:1]
#include <gtk/gtk.h>
#include <locale.h>
//主窗口中按钮的回调函数
void        on_button_clicked(GtkWidget* button, gpointer userdata)
{
        GtkWidget *dialog;
//创建带确认按钮的对话框,父控件为空
        dialog = gtk_message_dialog_new(NULL,
                        GTK_DIALOG_MODAL |GTK_DIALOG_DESTROY_WITH_PARENT,
                        GTK_MESSAGE_INFO,
                        GTK_BUTTONS_OK,
                        (gchar*)userdata);
        gtk_dialog_run(GTK_DIALOG(dialog));//显示并运行对话框
        gtk_widget_destroy(dialog);//销毁对话框
}
//主函数
int        main(int argc, char* argv[])
{
        GtkWidget *window, *button;
        //初始化GTK+程序
        gtk_init(&argc, &argv);
        //创建窗口,并为窗口的关闭信号加回调函数以便退出
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        g_signal_connect(G_OBJECT(window),"delete_event",
                        G_CALLBACK(gtk_main_quit),NULL);
        gtk_window_set_title(GTK_WINDOW(window),"Hello World");
        gtk_container_set_border_width(GTK_CONTAINER(window),10);
        //创建按钮控件,为单击信号加回调函数,将其放入窗口中
        button=gtk_button_new_with_label(g_locale_to_utf8 ("Linux公社",-1,NULL, NULL, NULL));
        g_signal_connect(G_OBJECT(button),"clicked",
                        G_CALLBACK(on_button_clicked),(gpointer)"Hello\nFree World!");
        gtk_container_add(GTK_CONTAINER(window),button);
        //下面函数显示窗口控件同时显示其中的所有其它控件
        gtk_widget_show_all(window);
        gtk_main();
        return FALSE;
}
[/code:1]
回复

使用道具 举报

发表于 2004-6-18 11:20:43 | 显示全部楼层
utf8
回复

使用道具 举报

 楼主| 发表于 2004-6-18 11:56:15 | 显示全部楼层
怎么了?有什么问题么?
回复

使用道具 举报

发表于 2004-6-18 21:07:48 | 显示全部楼层
上述代码中按钮的中文不能正确显示?
回复

使用道具 举报

 楼主| 发表于 2004-6-18 21:16:56 | 显示全部楼层
是的。

显示的是N个乱码
回复

使用道具 举报

发表于 2004-6-18 23:53:03 | 显示全部楼层
前面加
setlocale("LC_ALL","");
回复

使用道具 举报

 楼主| 发表于 2004-6-19 18:13:11 | 显示全部楼层
哪里前面?

能将这个代码修改以后贴出来么?我是GTK的新手。
回复

使用道具 举报

发表于 2004-6-19 23:38:23 | 显示全部楼层
gtk_init(NULL,NULL);前面
回复

使用道具 举报

 楼主| 发表于 2004-6-20 12:01:37 | 显示全部楼层
还是不可以。

能不能给一个能够正常运行的完整代码。并且测试成功的?
回复

使用道具 举报

发表于 2004-11-18 17:31:51 | 显示全部楼层
加环境变量
LANG=zh_CN.GB2312
试试
回复

使用道具 举报

发表于 2004-11-28 14:22:06 | 显示全部楼层
what's the conclusion of this topic???
how can we deal with it??
回复

使用道具 举报

发表于 2004-11-28 17:25:38 | 显示全部楼层
没在Windows下用过GTK,不解 有一个参考看有用没有。http://www.gimp.org/~tml/gimp/win32/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 23:28 , Processed in 0.083021 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

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