Принудительное обновление рендеринга после ввода пользовательского ключаPython

Программы на Python
Ответить
Anonymous
 Принудительное обновление рендеринга после ввода пользовательского ключа

Сообщение Anonymous »

У меня есть приложение на основе Visualization.gui, отображающее облако точек в SceneWidget. Зарегистрирован обратный вызов ключевого события, поэтому пользователь может манипулировать облаком точек, например. повернуть на 90. Обратный вызов выполняет запрошенное действие и удаляет_geometry()/add_geometry() в облаке точек. Все это работает нормально.
Проблема в том, что SceneWidget не обновляется и не перерисовывается последовательно: кажется, что для запуска отображения нового состояния требуется некоторое движение мыши. Мышь на моем рабочем столе достаточно чувствительна, чтобы генерировать достаточно небольших случайных движений, чтобы работать примерно в 80% случаев. С ноутбуком все не так гладко: он почти всегда не обновляется, пока я не проведу пальцем по тачпаду.
Я попробовал все комбинации HANDLED/CONSUMED для ключевого события, плюс Force_update() как для SceneWidget, так и для главного окна... безрезультатно. Я что-то упустил?
(Windows 11 Pro, open3d 0.19.0, Python 3.12, если это имеет значение.)

Подробнее здесь: https://stackoverflow.com/questions/798 ... -key-input
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»