Автоматическое масштабирование области рисования при изменении размера с помощью (Py) GTK

#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 при вызовах create self.set_size_request(w,h) и при изменении размера окна DA одинаковы w, h