如何将无法点击的gtkmm菜单项变灰?

3

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

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

我希望当我无法点击“打开”时,它能变成灰色,但我不知道如何实现。有什么建议吗?
感谢您的帮助。
1个回答

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();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接