如何在Glade3中将子项添加到StatusBar?

时间:2012-01-04 11:55:25

标签: gtk python-3.x glade

在GTK2中,StatusBar只是一个像HBox这样的简单容器。当我尝试将子窗口小部件添加到状态栏时,Glade 3(gtk3)现在显示此消息:

Widgets of type Status Bar need placeholders to add children.

什么是占位符?

我更喜欢在Glade中完全构建UI,但是如果它不再起作用,那么在代码中构建它也很好。我通过GObject内省使用Python 3.2和Gtk。

1 个答案:

答案 0 :(得分:6)

在Gnome 3中,状态栏不再是容器;他们更像是一堆消息。要显示消息,请获取新的上下文ID并将消息推送到与状态栏关联的消息堆栈中:

context_id = statusbar.get_context_id("progress_message")
statusbar.push(context_id, "Almost done...")

statusbar.push(1, "Almost done...")

要再次删除该消息,请使用statusbar.pop(1)。因此,不再可能在状态栏中使用进度条或图像等内容。

另请参阅:GtkStatusbar at the Gnome Dev Center