расположение значков на панели инструментов gtk - PullRequest
1 голос
/ 14 декабря 2010

Я пытаюсь создать панель инструментов GTK с кучей предметов. Моя проблема в том, что я не смог распределить их равномерно. Все значки сгруппированы в левой части панели. Как я могу заставить их распространяться? Я хотел бы избежать использования дополнительных виджетов, таких как hbox и т. Д. По соображениям производительности. Вот код, который я написал:

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

Ответы [ 2 ]

5 голосов
/ 14 декабря 2010

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

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

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

1 голос
/ 14 декабря 2010

Я верю, что это по замыслу;Панели инструментов должны быть плотно упакованы, чтобы сделать их более удобными.По моему личному мнению, шесть кнопок на изображении в примере выглядели бы намного хуже, если бы они были равномерно распределены по всему горизонтальному пространству.панель инструментов.

...