gtkmm中实现二级弹出式菜单

其实很简单:

Gtk::Menu menuPopup;
Gtk::MenuItem testitem(“test sub”);
Gtk::Menu::MenuList& menulist = menuPopup.items();

menulist.push_back( Gtk::Menu_Helpers::MenuElem(“_Add”,sigc::mem_fun(*this, &DocView::insert_doc) ) );
menulist.push_back( Gtk::Menu_Helpers::MenuElem(“_Open”,sigc::mem_fun(*this, &DocView::open_doc) ) );
menulist.push_back( Gtk::Menu_Helpers::MenuElem(“_Edit”,sigc::mem_fun(*this, &DocView::edit_doc) ) );
menuPopup.append(testitem);
//必须用指针形式,否则无法弹出
Gtk::Menu* submenu=manage(new Gtk::Menu());
submenu.items().push_back( Gtk::Menu_Helpers::MenuElem(“_Add”,sigc::mem_fun(*this, &DocView::insert_doc) ) );
testitem.set_submenu(*submenu);

关键就在于要用指针,我一开始没用,怎么也没有找到问题。

This entry was posted in Program and tagged , , , . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please copy the string CYdy5Y to the field below:

以新浪微博帐号登录