У меня есть компоновка GTK с виджетом слева от HBox, определяющего максимальную высоту, которую я хочу, и VBox справа, содержащий три кнопки, каждая из которых содержит только изображение и без текста. Изображения являются значком GTK и имеют тип хранилища.
Используя команду развернуть = Истина, заполнить = Истина, упаковка кнопок без изображений - это именно та высота, которую я хочу, - произвольная малая ширина, и 1/3 каждая высота левой половины HBox. Однако с изображением они либо слишком высоки - 3 * ICON_SIZE_MENU слишком высоки во многих темах - либо, если я форсирую запрос высоты кнопки, они обрезаются. Я бы предпочел масштабировать их до размера родительской кнопки.
Нужно ли мне создавать свои собственные pixbuf для каждой иконки, которую я использую (и регенерировать их при изменении размера)? Или GTK может автоматически изменять размер изображения, чтобы соответствовать кнопке, а не наоборот? Поскольку в каждой теме, которую я пробовал, изображения находятся на расстоянии всего лишь нескольких пикселей, можно ли отключить обрезку кнопки?
Это приложение написано на Python с использованием PyGTK, но приветствуются решения на любом языке.
(Я попытался просто сделать его типом хранения имени значка, но один из значков - REVERT_TO_SAVED, который превратился в изображение с ломаной картинкой, когда я попытался принудительно установить его на определенную высоту пикселя. Кроме того, я бы предпочел не применять силу это к любой фиксированной высоте пикселя.