2010-12-14 61 views
1

我想用一堆物品创建一个GTK工具栏。我的探头是我无法将它们均匀地分开。所有图标都捆在一起在酒吧的左侧。我如何让他们分散?出于性能原因,我想避免使用其他小部件,如hbox等。下面是我写的代码:在gtk工具栏中排列图标

GtkWidget* navbar = gtk_toolbar_new(); 
gtk_toolbar_set_style(GTK_TOOLBAR(navbar), GTK_TOOLBAR_ICONS); 
gtk_toolbar_set_icon_size(GTK_TOOLBAR(navbar), GTK_ICON_SIZE_SMALL_TOOLBAR); 

GtkToolItem* open = gtk_tool_button_new_from_stock(GTK_STOCK_JUMP_TO); 
gtk_toolbar_insert(GTK_TOOLBAR(navbar), open, 0); 

GtkToolItem* play = gtk_tool_button_new_from_stock(GTK_STOCK_MEDIA_PLAY); 
gtk_toolbar_insert(GTK_TOOLBAR(navbar), play, 1); 

GtkToolItem* pause = gtk_tool_button_new_from_stock(GTK_STOCK_MEDIA_PAUSE); 
gtk_toolbar_insert(GTK_TOOLBAR(navbar), pause, 2); 

,这里是安排我得到:

alt text

回答

1

我相信这是由设计;工具栏应该紧紧包装,以使它们更加可用。以我个人的观点来看,如果在整个水平空间上均匀地展开,示例图像中的六个按钮看起来会更差。

也就是说,你可以尝试在项目上使用gtk_tool_item_set_expand(),然后将它们添加到工具栏中。

+0

谢谢。我会马上尝试。关于你所说的紧凑图标更有用,但。如果我确实保留它们,我怎么至少将它们放在工具栏的中心? – 341008 2010-12-14 09:44:06

+0

这是第二个问题。将您的答案标记为已接受。谢谢。 – 341008 2010-12-14 10:09:24

5

您可以在每个项目之间添加GtkSeparatorToolItem;从GTK文档报价,

如果属性expandTRUE和物业drawFALSE,一个GtkSeparatorToolItem将作为迫使其他项目的工具栏末端的“春天”。

听什么放松说虽然,不要这样做!不要将它们放在工具栏的中心。 GTK小部件旨在用于各种不同大小,分辨率,桌面主题,语言和配置。您可以设计应用程序的工作方式,GTK设计它的外观(我向你保证,GTK团队已经考虑了更多可用性方面的问题)。用户期望工具按钮位于特定位置。

+0

明白了!由1增加了答案。 – 341008 2010-12-15 06:33:03