GTK&glade,不能显示的问题?[已解决]

发布于 2022-08-12 00:23:10 字数 1472 浏览 10 评论 3

这是我的源码,ok.c;
#include<gtk/gtk.h>
#include<glade/glade.h>
/*GladeXML *.GUI;*/
void destroy(GtkWidget *widget, gpointer user_data) {
    /* do something useful here */
    g_print ("Hello Worldn");
    gtk_main_quit();
}
int main(int argc,char *argv[])
{
        GladeXML *gxml;
        gtk_init(&argc,&argv);
        gxml=glade_xml_new("ok1.glade", NULL, NULL);
        glade_xml_signal_autoconnect(gxml);

        /* start the event loop */      
        gtk_main();
        return 0;
}
这是我的界面:

Screenshot.png (81.64 KB, 下载次数: 5)

下载附件

2008-10-23 14:29 上传



我编译成功通过的,但运行的时候什么都没显示,连提示也没有,望大家赐教!!

[ 本帖最后由 wfnh 于 2008-10-27 12:28 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

自此以后,行同陌路 2022-08-15 04:39:54

glade里面有一个设置窗口是否显示的属性,把这个设置为可见,就不需要上面两行了
当然,前提是这个窗口是程序运行的主窗口,即你希望程序运行时出现的那个窗口

涫野音 2022-08-12 21:13:32

我只是觉得,你的代码是不是少了gtk_widget_show()?

这有一个gtk/glade的代码:
#include <gtk/gtk.h>
#include <glade/glade.h>
int main(int argc, char* argv[])
{
        GladeXML        *gxml;
        GtkWidget       *window;

        gtk_init (&argc, &argv);
        gxml = glade_xml_new ("test.glade", NULL, NULL);
        window = glade_xml_get_widget (gxml, "window");    //从xml文件中获取window
        g_object_unref (G_OBJECT (gxml));
        gtk_widget_show(window);                //显示window
        gtk_main ();

        return 0;
}

你的代码缺少了上面注释的两行

好多鱼好多余 2022-08-12 16:39:43

检查一下,glade里关于window属性的设置,Visible是否为是。
或者通过gtk_widget_show()显示

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文