实现自定义 Gtkmm 小部件:我应该在虚拟 on_* 函数中返回什么?
覆盖 时我应该返回什么 Gtk::Widget 的 virtual bool Gtk::Widget::on_draw(const Cairo::RefPtr
?文档根本没有提到这一点。
What should I return when overriding
of Gtk::Widget? The documentation doesn't say anything about that at all.
virtual bool Gtk::Widget::on_draw(const Cairo::RefPtr<Cairo::Context>& cr)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实上,C 文档也没有说什么。您应该在 bugzilla.gnome.org 上将此疏忽报告为错误。
或许和GTK中的其他事件信号一样?也就是说,返回
TRUE
来停止调用其他处理程序,返回FALSE
来进一步传播事件?尽管它不是一个事件信号,但它在 GTK 2 中的前身是,也许是为了向后兼容?例如,快速浏览一下GtkButton
的源代码,就会发现它只是返回FALSE
。Indeed, the C documentation doesn't say anything either. You should report this oversight as a bug on bugzilla.gnome.org.
Perhaps it is the same as other event signals in GTK? That is, return
TRUE
to stop other handlers being invoked,FALSE
to propagate the event further? Even though it's not an event signal, its predecessor in GTK 2 was, perhaps it's for backwards compatibility? A quick glance at the source code ofGtkButton
, for example, shows that it simply returnsFALSE
.