2010-12-14 88 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