У меня есть tvtk SceneEditor для сцены mayavi в моем приложении traitsui. При определении этого редактора я попросил его иметь размер 500x500.Текущий размер редактора traitsui
Из панели инструментов MayaVi, редактор сцены сам понимает, что он имеет меньший размер, чем это при нормальных условиях:
>>> self.scene.scene_editor.get_size()
wx.Size(500, 468)
И когда окно увеличивается так, что редактор занимает гораздо больше места, он понимает это слишком
>>> self.scene.scene_editor.get_size()
wx.Size(500, 781)
Однако, если редактор сделал гораздо меньше, он отказывается занимать меньше места (даже если содержимое может быть легко пересчитаны), потому что редактор был указан занять 500x500. Он позволяет изменять размер редактора, но просто отсекает часть дисплея, пока он не будет увеличен снова.
Я хочу знать, есть ли способ: а) спросить, какая часть редактора в настоящее время отображается на экране (вместо минимального размера, который редактор хочет отобразить) и b) сделать редактор по умолчанию 500x500 но будьте готовы просить его содержимое перемасштабировать, если оно будет уменьшено.
Я использую wxpython backend.
Редактировать: Важно также, чтобы сцена содержалась в группе layout='split'
- после изучения этого вопроса и столкновения с огромным количеством sizers, которые wx генерирует при добавлении виджета traitsui, я понял, что это может иметь значение.