Строго говоря, о безопасности вызова deleteLater()
, обычно безопасно делать внутри функции, работающей внутри этого класса. Объект не будет удален, пока управление не вернется в функции цикла событий. Единственные потенциальные проблемы, которые я вижу, связаны с многопоточным кодом, что, вероятно, не относится к виджету с его обработчиками событий.