作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 C++ 中的库 gtkmm。这是我定义“打开”的代码部分:
Gtk::ImageMenuItem *menuOpen = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::OPEN));
menuFile->append(*menuOpen);
如果我不能点击它,我希望“打开”变灰,但我不知道允许这样做的方法。有什么建议吗?
感谢您的帮助。
最佳答案
在 gtkmm 3 中,Gtk::ImageMenuItem
和 Gtk::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();
关于c++ - 如何使无法单击的 gtkmm 菜单项变灰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41512254/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!