实现自定义 Gtkmm 小部件:我应该在虚拟 on_* 函数中返回啥?
Posted
技术标签:
【中文标题】实现自定义 Gtkmm 小部件:我应该在虚拟 on_* 函数中返回啥?【英文标题】:Implementing custom Gtkmm widget: what should I return in the virtual on_* functions?实现自定义 Gtkmm 小部件:我应该在虚拟 on_* 函数中返回什么? 【发布时间】:2012-01-24 12:33:49 【问题描述】:当覆盖 Gtk::Widget 的
virtual bool Gtk::Widget::on_draw(const Cairo::RefPtr<Cairo::Context>& cr)
时我应该返回什么?文档根本没有说明这一点。
【问题讨论】:
【参考方案1】:确实,C documentation 也没有说什么。您应该在 bugzilla.gnome.org 上将此疏忽报告为错误。
也许它和 GTK 中的其他事件信号一样?也就是说,返回TRUE
以停止调用其他处理程序,FALSE
以进一步传播事件?尽管它不是事件信号,但它在 GTK 2 中的前身是,也许是为了向后兼容?例如,快速浏览一下GtkButton
的源代码会发现它只是返回FALSE
。
【讨论】:
我也试图找到他们说的地方。我认为在 java-gnome 文档中,他们说 X 返回 true,Y 返回 false,但我在 c++ 或 c 绑定中找不到。他们真的应该将此添加到文档中。 报告一个错误,然后他们可能会。以上是关于实现自定义 Gtkmm 小部件:我应该在虚拟 on_* 函数中返回啥?的主要内容,如果未能解决你的问题,请参考以下文章
GTKMM/C++11:如何从其他小部件中创建自定义复合小部件?