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

私は、これは仕様によるものと信じていますが、ツールバーは、より使いやすくするためにしっかりとパックされているはずです。私の個人的な意見では、例のイメージの6つのボタンは、完全な水平方向のスペースに均等に広がっていると悪化します。

つまり、ツールバーに追加する前に、アイテムにgtk_tool_item_set_expand()を使ってみることができます。

+0

ありがとうございました。私はすぐにそれを試みます。しっかりとパックされたアイコンについて、あなたが言ったことについて、より使いやすくなっています。私がそれらを詰め込んだままにしておくと、どうすればそれらを少なくともツールバーの中央に置くことができますか? – 341008

+0

それは副次的な質問でした。あなたの答えを受け入れたものとしてマークする。ありがとう。 – 341008

5

各項目の間にGtkSeparatorToolItemを追加できます。プロパティexpandTRUE、宿泊施設にdrawFALSEある場合は、GTKのドキュメントから

を引用し、GtkSeparatorToolItemは、ツールバーの端に他の項目を強制的に「春」として機能します。

巻き戻しの言葉に耳を傾けてはいけません!ツールバーの中央に配置しないでください。 GTKウィジェットは、さまざまなサイズ、解像度、デスクトップテーマ、言語、および設定のすべての種類で動作するように設計されています。アプリケーションの仕組みを設計し、GTKがどのように表示するかを設計します(GTKチームはあなたよりも使い勝手についてもっと考えています)。ユーザーは、ツールボタンが特定の場所にあることを期待しています。

+0

1で答えを返す。 – 341008

関連する問題