gtkmm菜单栏没有显示

时间:2013-12-15 11:52:17

标签: c++ ubuntu gtk gtkmm

您好我正在尝试使用gtkmm编写程序并遇到一些问题,这是在gnome网站上的在线教程之后。 虽然我的程序编译并执行菜单栏没有显示,但快捷键也不起作用。

但我在终端Gtk-WARNING **: File: missing action File

上收到警告

任何指针都会有所帮助。 谢谢

这是创建菜单的代码

mActionGroup = Gtk::ActionGroup::create();
mActionGroup->add(Gtk::Action::create("File", "_File"));
mActionGroup->add(
    Gtk::Action::create( "Open", Gtk::Stock::OPEN, "_Open", "Open a file" ),
    Gtk::AccelKey( "<control>o" ),
    sigc::mem_fun( *this, &myWindow::onFileOpen ) );

std::string menuInfo =
    std::string("<ui>")+
    "  <menubar name='MenuBar'>"+
    "    <menu action='File'>"+
    "      <menuitem action='Open'/>"+
    "    </menu>"+
    "  </menubar>"+
    "</ui>";
mUIManager = Gtk::UIManager::create();
add_accel_group(mUIManager->get_accel_group());
try
{
    mUIManager->add_ui_from_string( menuInfo );
}
catch( const Glib::Error &ex )
{
    ERROR( "Could not create menu" << ex.what() )
}
Gtk::Widget *pMenu = mUIManager->get_widget( "/MenuBar" );

mBox.pack_start( *pMenu, Gtk::PACK_SHRINK );
show_all_children();

这是安装了libgtkmm-3.0-dev:amd64的Gtkmm软件包,我使用pkg-config --libs gtkmm-3.0进行编译,这给了这些库

-lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lgtk-3 -lglibmm-2.4     
-lcairomm-1.0 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject 
-lpango-1.0 -lcairo -lsigc-2.0 -lgobject-2.0 -lglib-2.0  

编辑:

不确定如何检查我的gtkmm版本 但我搜索了包名,并将其标记为已被取代[https://launchpad.net/ubuntu/saucy/amd64/libgtkmm-3.0-dev/3.6.0-0ubuntu1]所以我认为版本是3.6

0 个答案:

没有答案