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

+0

Это был второстепенный вопрос. Отмечая ваш ответ как принятый. Благодарю. – 341008

5

Вы можете добавить GtkSeparatorToolItem между каждым изделием; цитата из документации GTK,

Если свойство expand является TRUE и свойство draw является FALSE, GtkSeparatorToolItem будет выступать в качестве «источника», что заставляет другие элементы на концах панели.

Слушайте, что говорит об этом, и не делайте этого! Не помещайте их даже в центр панели инструментов. Виджеты GTK предназначены для работы во всех видах разного размера, разрешениях, тематиках рабочего стола, языках и конфигурациях. Вы разрабатываете, как работает приложение, GTK разрабатывает, как это выглядит (и я уверяю вас, команда GTK больше думала об удобстве использования, чем вы.) Пользователи ожидают, что кнопки инструментов будут в определенном месте.

+0

Получил! Увеличенный ответ на 1. – 341008

Смежные вопросы