#python #drawing #pygtk #scaling
#python #рисование #pygtk #масштабирование
Вопрос:
Как я могу масштабировать gtk.DrawingArea
при изменении размера окна? Я пишу код, который будет отображать некоторые цвета в области рисования, которые будут добавлены в gtk.Table
ячейку. Мне просто нужно, чтобы изображение было растянуто во всем пространстве ячейки.
извините за мой английский. спасибо
Комментарии:
1. Итак, ваша область после рисования с чертежом в ней, и если область рисования в ячейке таблицы больше, чем чертеж, должен ли чертеж расширяться, чтобы занять новую доступную область?
Ответ №1:
Сначала создайте таблицу с homogeneous
выключенным:
table = gtk.Table(rows=1, columns=1, homogeneous=False)
Если homogeneous
не отключен, каждая ячейка таблицы будет такой же ширины и высоты, как ваша область рисования.
Чтобы прикрепить область рисования к таблице:
table.attach(child, left_attach, right_attach, top_attach, bottom_attach,
xoptions=EXPAND|FILL, yoptions=EXPAND|FILL, xpadding=0, ypadding=0)
Оставьте xoptions
и yoptions
как EXPAND|FILL
, чтобы область рисования расширилась. Если таблица также настроена на расширение, по умолчанию при выполнении toplevelWindow.add(table)
, то область рисования должна автоматически изменять размер при изменении размера окна.
Смотрите этот сайт для получения дополнительной информации: документация по таблицам pygtk
Комментарии:
1. это не работает.
gtk.DrawingArea
при вызовах createself.set_size_request(w,h)
и при изменении размера окна DA одинаковы w, h