如何获取使用 Gtk2::Builder 创建的小部件的名称(或 id)?
我正在将应用程序从使用 Gtk2::GladeXML 转换为 Gtk2::Builder。当获取所有小部件时,
@widgets = $glade_object->get_widget_prefix('')
获取小部件的名称(在 Glade 中设置),
$widgets[0]->get_widget_name
我可以使用Gtk2::Builder
@widgets = $builder_object->get_objects
我使用但获取所有小部件但 $widgets[0]->get_widget_name
未知。 $widgets[0]->get_name
只是给我小部件类,例如 GtkImage。
所以我的问题是:如何获取使用 Gtk2::Builder 创建的小部件的名称(或 id)?
感谢您的任何帮助。
I am converting an app from using Gtk2::GladeXML to Gtk2::Builder. When getting all widgets with
@widgets = $glade_object->get_widget_prefix('')
I could get the name (set in Glade) of a widget with
$widgets[0]->get_widget_name
With Gtk2::Builder I fetch all widgets with
@widgets = $builder_object->get_objects
But $widgets[0]->get_widget_name
is not known. $widgets[0]->get_name
just gives me the widget class, e.g. GtkImage.
So my question is: How do i get the name (or id) of an widget which was created with Gtk2::Builder?
Thanks for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
谢谢@johannes-sasongko!
这确实有效。所以我现在要做的是:
这是一种黑客攻击,但它有效。欢迎更好/更清洁的解决方案!
thanks @johannes-sasongko!
this really works. so what i do now is:
this is kind of a hack, but it works. better/cleaner solutions welcome!
如果您需要小部件的名称, $widget->Gtk2::Buildable::get_name() 应该可以解决问题
$widget->Gtk2::Buildable::get_name() should do the trick if you need the name of widget