【问题标题】:How to grey out a gtkmm menu item that cannot be clicked on如何使无法单击的gtkmm菜单项变灰
【发布时间】:2017-01-06 18:46:41
【问题描述】:

我在 C++ 中使用库 gtkmm。这是我定义“打开”的代码部分:

Gtk::ImageMenuItem *menuOpen = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::OPEN));
menuFile->append(*menuOpen);

如果我无法单击“打开”,我希望它显示为灰色,但我不知道允许这样做的方法。有什么建议吗?

感谢您的帮助。

【问题讨论】:

    标签: c++ gtkmm gtkmm3


    【解决方案1】:

    在 gtkmm 3 中,Gtk::ImageMenuItemGtk::Stock 都已被弃用,因此最好不要使用它们。只需将Gtk::MenuItem 与文本设置为"_Open" 一起使用。

    gtkmm 中的所有小部件都派生自Gtk::Widget。使用方法是Gtk::Widget::set_sensitive(bool)

    要使您的菜单变灰或不敏感,请使用:

    menuOpen->set_sensitive(false);
    

    要重新启用菜单项:

    menuOpen->set_sensitive();
    

    如果你想知道它是否是灰色的,使用:

    bool am_i_sensitive = menuOpen->get_sensitive();
    

    【讨论】:

      猜你喜欢
      • 2017-03-21
      • 2012-03-19
      • 2020-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多