在GTK +文本条目中嵌入其他小部件

时间:2016-04-26 10:03:30

标签: textbox icons gtk pygtk gtk3

我想在GTK + 3文本输入框的一端嵌入另一个小部件,有点像许多浏览器的搜索或协议安全性"芯片":Left hand side of Chromium search bar

我知道我可以使用

在文本条目上设置一个图标
entry = Gtk.Entry()
entry.set_icon_from_icon_name(Gtk.EntryIconPosition.PRIMARY, icon_name)

即使我将自己的GdkPixbuf传递给set_icon_from_pixbuf,这仍然限制了我的图标尺寸,当我想要一些任意尺寸(至少水平)时,取决于"芯片"内容。

我也试图"分流"文本覆盖set_margin_left,但这会移动整个输入框的左边缘,而不是框内的文本。

在文本条目中嵌入一些其他GTK +小部件(希望有任何复杂性,以便我可以使芯片更具交互性)的有效方法是什么?

2 个答案:

答案 0 :(得分:2)

GtkEntry不是容器,因此它不能包含子窗口小部件。

实现屏幕截图中显示的内容的适当方法是使用单独的容器并对其进行适当的样式设置。

答案 1 :(得分:1)

您是否考虑过将条目放入框架内,并重新设置内容以使其看起来像是在条目中?然后,您可以使用标准容器将任何小部件放在您想要的文本输入空间旁边。

缺点是点击你的"图标"不会自动关注条目,但它会使该操作完全可配置。