Desativar o loop de eventos PyQt durante a tabela de edição

Estou desenvolvendo uma interface gráfica com o PyQt. A GUI tem um qListWidget, um qTableWidget e um gráfico implementado com o Mayavi. A lista refere-se a formas que são plotadas (cilindros e cones, por exemplo). Quando uma forma é selecionada na lista, quero que as propriedades da forma sejam carregadas na tabela (de uma variável de dicionário) e a forma a ser destacada na plotagem. Eu tenho a plotagem do Mayavi funcionando bem. Além disso, se a tabela for editada, preciso que a forma seja re-plotada, para refletir o novo valor da propriedade (como para um cilindro, se o raio for alterado).

Assim, quando um item da lista é selecionado -> atualizar a tabela com as propriedades do item (de uma variável de dicionário), realce o item na plotagem

Quando a tabela é editada -> atualiza a variável do dicionário e traça novamente o item

O Problema: quando eu seleciono um item de lista e carrego dados na tabela, o sinal qTableWidget ItemChanged é acionado toda vez que uma célula é atualizada, o que aciona a re-plotagem da forma várias vezes com dados incompletos.

Existe um meio típico de desativar o loop de eventos da GUI enquanto a tabela está sendo atualizada programaticamente? (Tenho experiência com o Excel VBA, nessa configuração de contexto Application.EnableEvents = False impedirá o acionamento de um evento WorksheetChange sempre que uma célula for programaticamente atualizada.) Devo ter uma variável "table update in progress" para impedir que uma ação seja executada enquanto a tabela está sendo atualizada? Existe uma maneira de atualizar o widget de tabela de uma só vez, em vez de item por item? (Eu admito que estou intencionalmente evitando o framework Model-View no momento, daí o qListWIdget e o qTableWidget).

Alguma sugestão?

Eu sou um pôster pela primeira vez, mas um usuário de longa data do StackOverflow, então eu só quero dizer obrigado antecipadamente por ser uma comunidade tão incrível!

questionAnswers(3)

yourAnswerToTheQuestion