QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 756|回复: 1

gtk+2.0下生成菜单的错误

[复制链接]
发表于 2005-3-21 17:40:15 | 显示全部楼层 |阅读模式
gtk+2.0下生成菜单的错误

int main(int argc, char *argv[])
{
        GtkWidget *window;
        GtkWidget *vbox;
        GtkWidget *hbox;
        GtkWidget *button;
        GtkWidget *rootmenu;
        GtkWidget *menubar;
       
        //生成主窗口并初始化
        gtk_init(&argc, &argv);
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        g_signal_connect(G_OBJECT(window), "destroy",
                                        G_CALLBACK(gtk_main_quit), NULL);
        gtk_window_set_title(GTK_WINDOW(window), "add menu");                       
        gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
        gtk_container_set_border_width(GTK_CONTAINER(window), 5);
       
        //在主窗口里加入一个垂直盒状容器
        vbox = gtk_vbox_new(FALSE, 0);
        gtk_container_add(GTK_CONTAINER(window), vbox);
       
        menubar = gtk_menu_bar_new();
        gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 5);
       
        menu = gtk_menu_new();
        rootmenu = gtk_menu_item_new_with_label("root menu");
        menu = gtk_menu_item_new_with_label("menu 1");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);    //运行到此句出现error!

        ... ...以下省略
}

错误信息为:
(addmenu:16866): GLib-GObject-WARNING **: invalid cast from `GtkMenuItem' to `GtkMenuShell'

(addmenu:16866): Gtk-CRITICAL **: file gtkmenushell.c: line 353 (gtk_menu_shell_insert): assertion `GTK_IS_MENU_SHELL (menu_shell)' failed

请指点,谢谢。
发表于 2005-3-23 00:02:44 | 显示全部楼层
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); //运行到此句出现error!
你的item呢?不要只照着书上的写呀。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-6 11:34 , Processed in 0.048147 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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