Gtk Widget add_child 失败并出现错误
Gtk Widget add_child fails with error
我正在尝试创建自定义 Gtk 文本条目。基本思想是在文本条目中放置一个按钮。这是我的完整代码的简化版本:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
builder = Gtk.Builder()
button = Gtk.Button('button')
entry = Gtk.Entry()
entry.add_child(builder, button, "button")
该按钮未显示并且失败并显示错误:
(pygtk_foobar.py:26622): Gtk-CRITICAL **: gtk_buildable_add_child:
assertion 'iface->add_child != NULL' failed
有什么建议吗?
A GtkEntry
widget is not a GtkContainer
,因此不能向其添加或删除子窗口小部件。
只有从 GtkContainer
class 继承的小部件才能在 GTK+ 中有子部件。
如果你想在文本条目旁边放置一个按钮,你应该将两个小部件打包到一个容器中,如 GtkBox
,例如:
box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=2)
entry = Gtk.Entry()
button = Gtk.Button(label='button', hexpand=True)
box.add(entry)
box.add(button)
box.show_all()
这将创建一个带有条目和按钮的框。
我正在尝试创建自定义 Gtk 文本条目。基本思想是在文本条目中放置一个按钮。这是我的完整代码的简化版本:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
builder = Gtk.Builder()
button = Gtk.Button('button')
entry = Gtk.Entry()
entry.add_child(builder, button, "button")
该按钮未显示并且失败并显示错误:
(pygtk_foobar.py:26622): Gtk-CRITICAL **: gtk_buildable_add_child:
assertion 'iface->add_child != NULL' failed
有什么建议吗?
A GtkEntry
widget is not a GtkContainer
,因此不能向其添加或删除子窗口小部件。
只有从 GtkContainer
class 继承的小部件才能在 GTK+ 中有子部件。
如果你想在文本条目旁边放置一个按钮,你应该将两个小部件打包到一个容器中,如 GtkBox
,例如:
box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=2)
entry = Gtk.Entry()
button = Gtk.Button(label='button', hexpand=True)
box.add(entry)
box.add(button)
box.show_all()
这将创建一个带有条目和按钮的框。